我正在尝试使用JavaScript和MongoDB来检查数据集中是否存在用户名。我希望它返回一个简单的真或假的陈述。我使用以下语法:
checkUserName = function (usernameIn) {
User.findOne({username: usernameIn}, function(err, item) {
if (err) throw err;
if(item === null) {
console.log("Does not exist")
return false;
}
else {
console.log("Username already exists.")
return true;
}
});
但是,当我调用该函数时,它只返回undefined而不是true或false语句。
编辑:
我在脚本顶部调用var User = mongoose.model('Users')。该函数确实正确执行conole.log()操作,但是当我执行var result = checkUserName(username)时它不会返回结果。
非常感谢
答案 0 :(得分:0)
Try This:
Write a callback to a function when it is called.
checkUserName = function (usernameIn,callback) {
User.findOne({username: usernameIn}, function(err, item) {
if (err) throw err;
if(item === null) {
console.log("Does not exist")
return callback(false);
}
else {
console.log("Username already exists.")
return callback(true);
}
});