如何从mongodb集合中读取特定的键值对

Swa*_*nil 6 mongodb mongodb-query

如果我有这样的mongodb集合users:

{
  "_id": 1,
  "name": {
    "first" : "John",
    "last" :"Backus"
  },
}
Run Code Online (Sandbox Code Playgroud)

如何在name.first不提供_id或任何其他参考的情况下从中检索.另外,是否可以只拉动`name ^可以给我嵌入键的数组(在这种情况下是第一个也是最后一个)?怎么办?

db.users.find({"name.first"}) 没有为我工作,我有一个:

SyntaxError"missing:属性id(shell)之后:1

Rah*_*hul 20

第一个参数find()是查询条件,而方法的第二个参数find()是投影,它采用文档的形式,其中包含要包含在结果集中或从结果集中排除的字段列表.您可以指定要包括的字段(例如{ field: 1 })或指定要排除的字段(例如{ field: 0 })._id除非明确排除,否则隐含地包含该字段.

在您的情况下,db.users.find({name.first})将给出错误,因为它应该是搜索条件.

得到名字json: db.users.find({},{name:1})

如果你只想获取name.first

db.users.find({},{"name.first":1})
Run Code Online (Sandbox Code Playgroud)

Mongodb文档链接在这里

  • 虽然至少在mongo shell中使用它,我需要在"name.first"周围加上引号,以防我只需要获取name.first (2认同)