如何投影MongoDbcollection数组字段中的元素?

How to projection element in array field of MongoDb collection?

MongoDb Collection 示例(人):

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

期望的输出:

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

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

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

我正在查询整个 collection。但我只想 return 学校元素的邮政编码部分,而不是其他字段(因为实际学校 object 可能包含更多我不需要的数据)。我可以在代码中检索所有字段并删除那些 un-needed 字段(如学校的 "name"),但这不是我要找的。我想做一个 MongoDb 查询。

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

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