我需要从我的数据结构中返回具有最多总ipout的player_id。这是我在伪代码中需要做的事情:
1. Add together all ipouts for each player
2. Grab the max ipouts
3. Display the player_id of the one with max ipouts
到目前为止,我的第一名是正确的。这会正确列出每个玩家ID及其ipout总数。
db.pitching.aggregate([
{ $group:
{ _id: "$player_id", ipouts:
{ $sum: "$ipouts" }
}
}
]);
现在下一步是获得最大值。这就是我挣扎的地方:
db.pitching.aggregate([
{ $group:
{ _id: "$player_id", ipouts:
{ $sum: "$ipouts" }
}
},
{ $group:
{ _id: "$_id" , max: { $max: "$ipouts"} }
}
]);
我检查过的其他一些问题不起作用,因为我知道我需要使用聚合,这意味着我无法进行排序/限制(1)。我也尝试将_id
设置为null
,这也不起作用。此代码返回一个空数组(如果我添加toArray()
,我可以看到空括号)。
如何获取具有最大ipouts的对象的PlayerID?