MongoDB - 使用find()获取数组中的值

时间:2014-08-04 07:17:10

标签: mongodb

我的收藏包含以下形式的文件:

        {
          'game_name': 'football',
          'scores': [4,1,2,7,6,0,5]
        }

如何找到集合中所有此类对象的“分数”并按升序对其进行排序?

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题

db.yourcollection.aggregate([

{
    $unwind:"$scores"
},{

    $sort:{
        "scores":1
        }
},{    
        $group:{
            _id:null,
            scores:{$addToSet:"$scores"}
        }
},{

    $project:{
        _id:0,
        scores:1
    }
}

])

结果是:

{
    "result" : [ 
        {
            "scores" : [ 
                7, 
                5, 
                4, 
                6, 
                2, 
                1, 
                0
            ]
        }
    ],
    "ok" : 1
}