【发布时间】:2018-05-15 07:10:57
【问题描述】:
我有一个db数据如下
{
"_id" : ObjectId("5a2109572222085be93ef10d"),
"name" : "data1",
"date" : "2017-12-01T00:00.0Z",
"status" : "COMPLETED"},{
"_id" : ObjectId("5a2109572222085be93ef10d"),
"name" : "data1",
"date" : "2017-12-01T00:00.0Z",
"status" : "FAILED"}
我想要一个如下的聚合输出
{ 日期:“2017-12-01T00:00:0Z”,总计:“2”,完成:1,失败:1 }
我试过这段代码,但没有产生如上的结果
db.test.aggregate([
{$group: {_id : {date : '$date',status:'$status'}, total:{$sum :1}}},
{$project : {date : '$_id.date', status : '$_id.status', total : '$total', _id : 0}}
])
【问题讨论】:
-
您可以添加您的 scnerio 以及您想要实现的目标吗?要更具描述性,请添加您想要实现的内容。你的数据集不符合你想要的输出我认为它会是
{ date:"2017-12-01T00:00:0Z", total:"2", completed:2, failed:0 } -
@himanshu 我改变了分贝数据
-
@Himanshusharma 我已更新代码,请检查
标签: node.js mongodb mongoose aggregate