我需要找到每个组织级别的重复配置文件总数。我有如下文件:
{
"OrganizationId" : 10,
"Profile" : {
"_id" : "75"
}
"_id" : "1"
},
{
"OrganizationId" : 10,
"Profile" : {
"_id" : "75"
}
"_id" : "2"
},
{
"OrganizationId" : 10,
"Profile" : {
"_id" : "77"
}
"_id" : "3"
},
{
"OrganizationId" : 10,
"Profile" : {
"_id" : "77"
}
"_id" : "4"
}
我已经编写了一个由 ProfileId 和 OrganizationId 组成的组的查询。我得到的结果如下所示:
Organization Total
10 2
10 2
但我想获得每个组织级别的总数,这意味着 Org 10 应该有一行,总和为 4。
我正在使用的查询如下所示:
db.getSiblingDB("dbName").OrgProfile.aggregate(
{ $project: { _id: 1, P: "$Profile._id", O: "$OrganizationId" } },
{ $group: {_id: { p: "$P", o: "$O"}, c: { $sum: 1 }} },
{ $match: { c: { $gt: 1 } } });
有任何想法吗 ?请帮忙