检查MongoDB中的值是否匹配

时间:2015-11-12 19:27:45

标签: regex mongodb mongodb-query

我想与mongodb一起检查nicknamepassword true是否$and我试图将$regex运算符与checkNickname: function(nickname, password){ var reNick = new RegExp(nickname, "i"), rePass = new RegExp(password, "i"); getProfile.find( { $and : [{ nickname: { $ne: { $regex: reNick } } }, { password: { $ne: { $regex: rePass} } } ]}, function(data){ console.log(data) }); }, 一起使用但我不能让它工作。有人可以帮助我,现在有这个;

new

2 个答案:

答案 0 :(得分:6)

这将为你做到,

    checkNickname: function(nickname, password){
        var reNick = new RegExp("/^" + nickname + ".*/", "i"),
            rePass = new RegExp("/^" + password + ".*/", "i");
        getProfile.find({ 
                    nickname: { $not: reNick },  
                    password: { $not: rePass }
            }, function(err, data) {
            console.log(data)
        });
    }

答案 1 :(得分:1)

如上所述,您不能$regex作为$ne的参数,但您可以negate your regex.

checkNickname: function(nickname, password){
    var reNick = RegExp("^((?!"+nickname+").)*$", "i");
    var rePass = new RegExp("^((?!"+password+").)*$", "i");
    getProfile.find( { nickname: reNick, password: rePass }, function(err, data) {
        console.log(data)
    });
};