如何在MongoDb集合的数组字段中投影元素?

时间:2017-03-21 04:27:38

标签: arrays mongodb projection

MongoDb集合示例(人):

{
    "id": "12345",
    "schools": [
                {
                    "name": "A",
                    "zipcode": "12345"
                },
                {
                    "name": "B",
                    "zipcode": "67890"
                }
            ]
}

期望的输出:

{
    "id": "12345",
    "schools": [
                {
                    "zipcode": "12345"
                },
                {
                    "zipcode": "67890"
                }
            ]
}

我目前检索全部的部分代码:

collection.find({}, {id: true, schools: true})

我正在查询整个集合。但我只想返回学校元素的zipcode部分,而不是其他字段(因为实际的学校对象可能包含更多我不需要的数据)。我可以检索所有并删除代码中不需要的字段(例如"名称"学校),但这不是我要找的东西。我想做一个MongoDb查询。

1 个答案:

答案 0 :(得分:5)

您可以使用点表示法来投影嵌入在数组中的文档中的特定字段。

db.collection.find({},{id:true, "schools.zipcode":1}).pretty()