代码之家  ›  专栏  ›  技术社区  ›  David Faizulaev

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

  •  1
  • David Faizulaev  · 技术社区  · 7 年前

    我正在查询文档,只想得到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 回复  |  直到 7 年前
        1
  •  1
  •   Ashh    7 年前

    您可以尝试以下聚合

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

    here