可能的架构
var UserSchema = new Schema({
name: {type : String},
clubs: [{name: String}, {type : String}, {attending: boolean} ],
})
我尝试做的事情:找到有'的用户。某种类型的俱乐部,具有一定的参加价值:
User
.find({ 'clubs.type': 'fightclub', 'clubs.attending': true },
function(err, users){
//users
}
注意:必须在单个俱乐部内满足这两个条件,用户不能拥有2个不同的俱乐部,每个俱乐部都符合一个条件
答案 0 :(得分:1)
这正是$elemMatch
查询运算符的用途:
User.find({ clubs: {$elemMatch: {type: 'fightclub', attending: true }}},
function(err, users){
//users
}