我正在查询文档,我只是要获取2个特定字段,但是由于某种原因,未返回嵌套值。
Watcher.find(query, { id: 1, 'address.current': 1 }).exec((err, result) => {
if (err) {
////
} else {
res.status(200).json(result);
}});
在这种情况下,“ address.current”没有任何值。 但是当我这样设置时,它将返回完整的“地址”对象。
Watcher.find(query, { id: 1, address: 1 }).exec((err, result) => {
if (err) {
////
} else {
res.status(200).json(result);
}
});
例如文档:
{
"_id": "5a51080e939530fdc0c77f9a",
"address": {
"street": 10,
"zip_code": null,
"current": false
}
}
所需的输出是:
{
"_id": "5a51080e939530fdc0c77f9a",
"addres.current": false
}
}
请告知。
答案 0 :(得分:1)
您可以尝试以下汇总
db.collection.aggregate([
{ "$match": query }},
{ "$project": {
"addressCurrent": "$address.current"
}}
])
尝试here