我有以下文件
{
date: ISODate(some-date)
story: {
a: 24,
b: 12
}
},
{
date: ISODate(some-date)
story: {
b: 16,
c: 14
}
}
我希望得到的结果有点像:
{
a: 24,
b: 28,
c: 14
}
我已经在很多地方寻找过这个但却无法找到办法。显然放松不起作用,因为它不是一个子阵列。我无法弄清楚如何使用组。
答案 0 :(得分:1)
如果您要对整个集合进行分组,只需使用null
这样的常量值进行分组_id
:
db.test.aggregate([
{$group: {
_id: null,
a: {$sum: '$story.a'},
b: {$sum: '$story.b'},
c: {$sum: '$story.c'},
}}
])
输出:
{
"result" : [
{
"_id" : null,
"a" : 24,
"b" : 28,
"c" : 14
}
],
"ok" : 1
}