[英]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.