Javascript 多条件mongoose查找查询

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) {

我试图在注册用户时验证验证码。查询具有多个条件。如果返回了文档,则验证代码已验证,否则不会验证。问题来自下面的代码段,它总是满足if(foundUser),尽管文档并没有返回

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},
中没有有效的对象。