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

Arrays MongoDb查询以在嵌套数组中查找特定对象,arrays,mongodb,Arrays,Mongodb,我有一个objectplayer\u of_day数组,其中又有一个用户ID数组,即namite\u by我想找到一个拥有最大计数的对象。 差不多- 来自每日玩家的对象,其计数最大 "player_of_day" : [ { "nominate_by" : [ ObjectId("58994bca4187b412aec50c94"), ObjectId("58994a124187b412aec

我有一个objectplayer\u of_day数组,其中又有一个用户ID数组,即namite\u by我想找到一个拥有最大计数的对象。 差不多- 来自每日玩家的对象,其计数最大

"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
        }
    ],
你可以用


你期望得到什么样的结果,你能展示一些样本吗?我只是想要一张当天的播放器的记录,其计数是最大的,例如:-在上面的例子中,最大计数是3,所以,在结果中我想要:-“提名人”:[ObjectId(“58994bca4187b412aec50c94”)、ObjectId(“58994a124187b412aec50c91”)、ObjectId(“58994a124187b412aec50c91”)、ObjectId(“589955d54187b412aec50c99”),“提名到”:ObjectId(“58994b374187b412aec50c93”),“计数”:3如果你有一个对象数组,你可以循环检查max valuedb.match.aggregate([{“$unwind”:“$player_of_of_day”},{“$sort”:{count count 1},{“$limit 1}]);@Rama tx以获得你的帮助……我可以只获得“提名到”吗“作为在该记录中计数最大的输出,$project将有助于此db.match.aggregate([{“$unwind”:“$player\u of_day”},{“$sort”:{'player\u of_day.count':-1},{“$limit”:1},{“$project”:{“player\u of_of_day.namite_to”:1}”);我使用了这个db.matches.aggregate([{“$unwind”:“$player\u of_day”},{“$sort”:{'player\u of_day.count':-1},{“$limit”:1}{‌​“$project”:{”玩家_‌​第天。提名至:‌​1}}]);但是给我一个错误,我找不到-2017-02-15T15:43:03.602+0530 E查询[thread1]语法错误:非法字符@(shell):1:102您能在没有$project的情况下运行查询吗?
db.match.aggregate([{"$unwind":"$player_of_day"},{"$sort":{'player_of_day.count':-1}},{"$limit":1}]);