汇总 MongoDB
Aggregate MongoDB
我有一个文件集,像这样:
{
_id: ObjectId('xyz'),
companyId: 'xyz',
lastModifiedByUserEmail: 'name@domain.com'
}
我需要通过 companyId 了解出现次数较多的 lastModifiedByUserEmail,出现次数。
我知道如何计算 lastModifiedByUserEmail 的出现次数:
{ $group: { _id: '$lastModifiedByUserEmail', total: { $sum: 1 } } }
但是我不知道怎么按companyId分组。
您可以将 multi-part id 添加到群组中:
{
$group: {
_id: {
"lastModifiedByUserEmail": "$lastModifiedByUserEmail",
"company": "$companyId"
},
total: {
$sum: 1
}
}
}
如果你想得到最高的,那就加上排序和限制?
{
$sort: {
total: -1
}
},
{
$limit: 1
}
我有一个文件集,像这样:
{
_id: ObjectId('xyz'),
companyId: 'xyz',
lastModifiedByUserEmail: 'name@domain.com'
}
我需要通过 companyId 了解出现次数较多的 lastModifiedByUserEmail,出现次数。
我知道如何计算 lastModifiedByUserEmail 的出现次数:
{ $group: { _id: '$lastModifiedByUserEmail', total: { $sum: 1 } } }
但是我不知道怎么按companyId分组。
您可以将 multi-part id 添加到群组中:
{
$group: {
_id: {
"lastModifiedByUserEmail": "$lastModifiedByUserEmail",
"company": "$companyId"
},
total: {
$sum: 1
}
}
}
如果你想得到最高的,那就加上排序和限制?
{
$sort: {
total: -1
}
},
{
$limit: 1
}