我有1个包含以下文件的集合
{
_id: '1234',
__extract: {
flavor: 'apple',
color: 'green'
}
}
{
_id: '1235',
__extract: {
flavor: 'apple',
color: 'green'
}
}
{
_id: '1236',
__extract: {
flavor: 'mint',
color: 'green'
}
}
{
_id: '1237',
__extract: {
flavor: 'mint',
color: 'blue'
}
}
{
_id: '1238',
__extract: {
flavor: 'mint',
color: 'blue'
}
}
我对聚合的期望是以下结果:
[
{
_id: 'flavor',
results: [
{
_id: 'apple',
count: 2
},
{
_id: 'mint',
count: 3
},
]
},
{
_id: 'color',
results: [
{
_id: 'green',
count: 3
},
{
_id: 'blue',
count: 2
},
]
},
]
到目前为止我所拥有的一切都是风味,但我甚至没有“味道”。在结果中,我只有不同的风格和不同的计数,我按$__extract.flavor
分组,并有一个名为count的字段,使用$sum: 1
,如下所示:
$group:
_id: '$__index.flavor'
count:
$sum: 1
是否可以不进行多次聚合调用?