【发布时间】:2014-09-18 17:57:26
【问题描述】:
我有以下 MongoDB 方案:
{
local : {
email : String, // user's email
name : String, // user's name
rooms : [{name: String, password: String}]
}
}
我必须按房间名称 (rooms.name) 执行查询,并作为结果返回整个父文档和只有一个数组元素,符合条件(rooms.name == 'room name')
房间名称在整个数据库中是唯一的,所以我不必担心这一点。
我目前取得的成就是:
db.users.find({"local.rooms.name": "myroomname"}, {_id: 0, 'local.rooms.$': 1})
但是上面的查询只返回匹配条件的数组元素,而不是它的父文档。
我错过了什么?
【问题讨论】: