简体   繁体   English

MongoDb查询以在嵌套数组中查找特定对象

[英]MongoDb query to find specific object in nested array

i have an array of object player_of_day inwhich there is again array of user-Ids ie nominate_by I want to find an object having maximum count. 我有一个对象player_of_day的数组, 其中又有一个用户ID数组,即nominate_by,我想找到一个具有最大计数的对象。 Something like- an object from player_of_day whose count is maximum 类似于 -来自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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM