我有如下文件
{
date: ISODate(some-date)
story: {
a: 24,
b: 12
}
},
{
date: ISODate(some-date)
story: {
b: 16,
c: 14
}
}
我想得到的结果有点像:
{
a: 24,
b: 28,
c: 14
}
我在很多地方都在寻找它,但找不到解决方法。显然,由于展开不是子数组,因此展开不起作用。我不知道如何在其中使用分组。
如果您要对整个集合进行分组,则只需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
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句