我有这样的架构
{
"_id": ObjectId("52eb4b3f2ae235294899259d"),
"username": "david",
"email": "test@gmail.com",
"practice": [{
"name": "test1",
"role": "superadmin",
"status": "1"
}, {
"name": "test2",
"role": "admin",
"status": "1"
}, {
"name": "test3",
"role": "admin",
"status": "0"
}]
}
在MongoDB中,我如何通过Express.js验证test {2的username='david'
{/ 1}}和状态='1'是否存在?
答案 0 :(得分:0)
您可以使用$and
运算符。您可以编写要检查的功能。
SchemaName.find({ $and: [ {username: "david"}, {'practice.name': 'test2'} ] },
function (err, found) {
if(err) {
console.log(err);
}
else {
console.log(found);
}
})
答案 1 :(得分:0)
使用$elemMatch
匹配同一practice
数组元素中的多个字段:
collection.findOne(
{username: 'david', practice: {$elemMatch: {name: 'test2', status: '1'}}},
function (err, user) { ... }
);