我正在尝试在mongodb中查询名称字段,并使用以下代码我总是得到该值为重复的响应。
var checkUserName = function (userName, email, res){
User.findOne({ name : userName }, function () {
if(userName && typeof userName !== 'undefined'){
res.send("duplicate");
}else{
checkEmail(email);
}
});
}
答案 0 :(得分:1)
您目前正在完全忽略数据库中的答案,只是再次检查您的输入。这不行。 Mongoose将查询的答案作为回调函数的第二个参数返回(第一个参数始终是信号错误) - 尝试这样的事情:
var checkUserName = function (userName, email, res){
User.findOne({ name : userName }, function (err, userFromDb) {
if (err) {
console.log("there was an error: " + err;
return res.send("err: " + err.message);
}
if(userFromDb) {
res.send("duplicate");
} else {
checkEmail(email);
}
});
}