MongoDB - 如何从没有文档结构的嵌套文档中获取结果

时间:2017-09-27 05:11:32

标签: mongodb mongodb-query

我有一份具有以下结构的文件:

{
    "aaa": {
        "bbb":{
            "ccc":123
            "ddd":456
        }
    }
}

查询时,我使用db.mycoll.find({},{"aaa.bbb.ccc": 1})仅获取数字123,但MongoDB将返回结果为

的完整结构
{
    "aaa": {
        "bbb":{
            "ccc":123
        }
    }
}

如何避免MongoDB返回完整结构并仅返回内部值?

2 个答案:

答案 0 :(得分:1)

您可以映射函数::

试试这样:

db.mycoll.find({},{"aaa.bbb.ccc":1}).map( function(u) { return u.aaa.bbb.ccc;})

结果:: [123]

答案 1 :(得分:0)

使用聚合的方法可以是这样的:

db.mycoll.aggregate(
    [
        {
            $project: {
                _id: "$aaa.bbb.ccc"
            }
        },
    ]
);

结果将是:

{ 
    "value" : 123.0
}