我有一个名为players的集合,下面是示例文档。现在我想获取用户是导师或所有者或两者的玩家的用户数量。帮助我使用mongodb聚合管道。(这里用户意味着所有者或导师)
{
"_id": ObjectId("32521df3f4948bd2f54223"),
"firstName": "Olivia",
"lastName": "Moore",
"email": "[email protected]",
"owner_id": ObjectId("32521df3f4948bd2f54988"),
"mentor_id": ObjectId("32521df3f4948bd2f12343")
},
字符串
`
我试过下面的聚合。但用户明智的计数不准确。
db.players.aggregate([
{
$group: {
_id: { $ifNull: ["$owner_id", "$mentor_id"] },
playerCount: { $sum: 1 }
}
},
{
$project: {
user_id: "$_id",
playerCount: 1,
_id: 0
}
}
]);
型
1条答案
按热度按时间vsnjm48y1#
如果我理解正确的话,这里有一种方法你可以 *“获取用户是导师或所有者或两者兼而有之的玩家的用户数量"。
字符串
在mongoplayground.net上试试。