db.test.aggregate([
{$match: { "colx" : 8323, "id" : {$in: [802, ....]}}},
{$group: {_id : { coly : "$coly" , id : "$id" } , total: {$sum: "$val"} } },
{$group: {_id: '$_id.coly', items: {$push: {id: '$_id.id', total: '$total'}} } }
])
结果是:
{
"_id": 898,
"items": [
{
"id" : 801
"total" : 3355560
},
{
"id" : 805
"total" : 2760139
}
]
}
有没有一种方法可以在最后一个操作$ group之后用一个额外的项目更新所有文档,以便我们得到类似于以下结果:
{
"_id": 898,
"items": [
{
"id" : 801
"total" : 3355560
},
{
"id" : 805
"total" : 2760139
},
{ //extra item
"id" : 817
"total" : 0
}
]
}