MongoDB-在嵌入式文档中找不到特定字段

时间:2018-08-10 14:15:04

标签: mongodb mongoose mongodb-query

我正在查询文档,我只是要获取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
    }
}

请告知。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下汇总

db.collection.aggregate([
  { "$match": query }},
  { "$project": {
    "addressCurrent": "$address.current"
  }}
])

尝试here