通过Express验证用户名

时间:2014-01-31 12:00:35

标签: mongodb angularjs express

我有这样的架构

{
     "_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'是否存在?

2 个答案:

答案 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) { ... }
);