Javascript 多条件mongoose查找查询
我试图在注册用户时验证验证码。查询具有多个条件。如果返回了文档,则验证代码已验证,否则不会验证。问题来自下面的代码段,它总是满足if(foundUser),尽管文档并没有返回Javascript 多条件mongoose查找查询,javascript,node.js,express,mongoose,find,Javascript,Node.js,Express,Mongoose,Find,我试图在注册用户时验证验证码。查询具有多个条件。如果返回了文档,则验证代码已验证,否则不会验证。问题来自下面的代码段,它总是满足if(foundUser),尽管文档并没有返回 UserModel .find({ email, verificationCode: code }, (err, foundUser) => { if(err) {
UserModel
.find({
email,
verificationCode: code
},
(err, foundUser) => {
if(err) {
return res.json({msg: "Error"})
}
else {
console.log('foundUser', foundUser)
if(foundUser) {
return res.json({msg: "found email + code"})
}
else {
return res.json({msg: "No email & code matched"})
}
}
})
foundUser可以用3种方式编写
if (foundUser.length !== 0) {}
if (!foundUser.length) {}
if (foundUser.length > 0) {}
选择一个最适合你的
我建议第二种选择
UserModel
.find({
email,
verificationCode: code
},
(err, foundUser) => {
if(err) {
return res.json({msg: "Error"})
}
else {
console.log('foundUser', foundUser)
if (!foundUser.length) {
return res.json({msg: "found email + code"})
}
else {
return res.json({msg: "No email & code matched"})
}
}
})
foundUser可以用3种方式编写
if (foundUser.length !== 0) {}
if (!foundUser.length) {}
if (foundUser.length > 0) {}
选择一个最适合你的
我建议第二种选择
UserModel
.find({
email,
verificationCode: code
},
(err, foundUser) => {
if(err) {
return res.json({msg: "Error"})
}
else {
console.log('foundUser', foundUser)
if (!foundUser.length) {
return res.json({msg: "found email + code"})
}
else {
return res.json({msg: "No email & code matched"})
}
}
})
您的foundUser日志是什么?@EugeneSunic控制台输出是foundUser[]那么,您希望看到什么。。。您的if应该如下所示:if(foundUser.length!==0){}我假设由于代码值的原因而没有生成结果…@EugeneSunicn非常感谢。它起作用并节省了大量时间:)然后我将发布一个答案,这样您就可以接受代码稍加改进XD您的foundUser日志是什么?@EugeneSunic console输出是foundUser[]好吧,您期望什么。。。您的if应该如下所示:if(foundUser.length!==0){}我假设由于代码值的原因而没有生成结果…@EugeneSunicn非常感谢。它工作了,节省了大量时间:)然后我会发布一个答案,这样你可以接受,只需稍作代码改进xdIt似乎在
find({email,verificationCode:code},
中没有有效的对象。似乎在find({email,verificationCode:code},
中没有有效的对象。