我的 mongo db 中有一个组集合,我将组的成员存储在嵌入列表中:
{ _id: 9876,
name: group138,
members: [{ login: user1, password: user1pass},
{ login: user2, password: user2pass}],
path: '/group1/group13/',
}
(为了处理组层次结构,我使用带有实体化路径的模型树结构(http://docs.mongodb.org/manual/tutorial/model-tree-structures-with-materialized-paths/))。
我想找到一种方法让属于该组的几个用户进入同一个集合,以避免多个数据库查询(和回调调用)。
当用户登录时,我需要检索他和他所属的组。我刚刚发现我不能同时用他的登录名和密码查询用户:
db.groups.find({$and: [{"members.login": "user1pass"}, {"members.password" : "user2pass"}]})
返回不应返回的记录,因为密码不正确。如何执行正确的请求以检查登录名和密码?