查询对象中的对象

时间:2015-01-21 06:36:20

标签: mongodb passport.js

我正在使用passport.js将我的用户存储到我的mongodb中。用户对象看起来像这样

{
   "_id" : ObjectId("545ac4930acf4b5394cbc244"),
   "local" : {
       "password" : [encrypted password],
       "email" : "john@domain.com",
       "level" : "super user",
   },
   "__v" : 0
}

我正在尝试显示属于“超级用户”组的所有用户。

我发现这很困难,因为我的数据位于对象中的两个级别。

1 个答案:

答案 0 :(得分:0)

使用点符号如下:

db.users.find({"local.level" : "super user"})

要仅返回某些字段,find有一个可选的投影参数。对于密码和电子邮件,您可以执行以下操作:

db.users.find({"local.level" : "super user"}, {"local.password":1, "local.email":1, "_id":0})

注意:除非在投影中标记为0,否则始终返回_id。