[英]MongoDb query to find specific object in nested array
我有一个对象player_of_day的数组, 其中又有一个用户ID数组,即nominate_by,我想找到一个具有最大计数的对象。 类似于 -来自player_of_day的对象,其计数最大
"player_of_day" : [
{
"nominate_by" : [
ObjectId("58994bca4187b412aec50c94"),
ObjectId("58994a124187b412aec50c91"),
ObjectId("589955d54187b412aec50c99")
],
"nominate_to" : ObjectId("58994b374187b412aec50c93"),
"count" : 3
},
{
"nominate_by" : [
ObjectId("58994c254187b412aec50c95"),
ObjectId("58994ad04187b412aec50c92")
],
"nominate_to" : ObjectId("58994a124187b412aec50c91"),
"count" : 2
},
{
"nominate_by" : [
ObjectId("58994b374187b412aec50c93")
],
"nominate_to" : ObjectId("58994c254187b412aec50c95"),
"count" : 1
}
],
你可以使用$ unwind
db.match.aggregate([{"$unwind":"$player_of_day"},{"$sort":{'player_of_day.count':-1}},{"$limit":1}]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.