【发布时间】:2020-07-15 16:17:41
【问题描述】:
我的候选集合中有以下文档。
candidates = [
{
name: "amit",
age: 21,
city: 'pune'
}
{
name: "rahul",
age: 23,
city: 'pune'
},
{
name: "arjun",
age: 21,
city: 'pune'
},
{
name: "rakesh",
age: 23,
city: 'pune'
},
{
name: "amit",
age: 22,
city: 'nashik'
}
]
我想按年龄和城市字段分组,并根据彼此独立的总和计算文档 我尝试了以下查询
candidate.aggregate([
{$group: {_id: {age: '$age', city: '$city'}, count: {$sum: -1}}}
{$sort: {count: -1}},
{$limit: 10}
])
这让我计算了年龄和城市的组合结果。 我想要什么
{
ages: [
{
age: 21,
count: 2
},
{
age: 23,
count: 2
},
{
age: 21,
count: 1
}
],
cities: [
{
city: 'pune',
count: 4
},
{
city: 'nashik',
count: 1
}
]
}
感谢您的帮助。
【问题讨论】:
标签: mongodb aggregation-framework aggregation