Node.js 无法使用“查找查询”在mongoose中查找数据

Node.js 无法使用“查找查询”在mongoose中查找数据,node.js,mongoose,Node.js,Mongoose,在我的应用程序中,我希望用户输入用户名和密码,然后用户名首先使用find query在数据库中进行检查,如果username找到了,则会将新页面呈现给用户。 问题是,如果我输入了错误的用户名和密码,那么它也会呈现一个新页面,并且页面也没有完全加载。 请告诉我先生是什么 在app.js中,我写道: app.post('/profile',users.login); exports.login=function(req,res){ console.log("login called");

在我的应用程序中,我希望用户输入用户名和密码,然后用户名首先使用find query在数据库中进行检查,如果username找到了,则会将新页面呈现给用户。 问题是,如果我输入了错误的用户名和密码,那么它也会呈现一个新页面,并且页面也没有完全加载。 请告诉我先生是什么

在app.js中,我写道:

app.post('/profile',users.login);
exports.login=function(req,res){
   console.log("login called");
   PersonalInfo.findOne({ name:req.params.userName}, function(err,data){
      if(err)
      {
          console.log("find is not done");
          console.log(data);
      }
      else{
          res.render("/profilearea.ejs");
      }
        })
在users.js中,我写了:

app.post('/profile',users.login);
exports.login=function(req,res){
   console.log("login called");
   PersonalInfo.findOne({ name:req.params.userName}, function(err,data){
      if(err)
      {
          console.log("find is not done");
          console.log(data);
      }
      else{
          res.render("/profilearea.ejs");
      }
        })

}

findOne
查询无法找到匹配的文档时,不认为是错误。相反,“未找到”情况由
data
参数指示,
findOne
回调为
null

您的
findOne
回调函数的代码应该如下所示:

  if(err || !data)
  {
      console.log("find is not done");
  }
  else{
      res.render("/profilearea.ejs");
  }

findOne
查询无法找到匹配的文档时,不认为是错误。相反,“未找到”情况由
data
参数指示,
findOne
回调为
null

您的
findOne
回调函数的代码应该如下所示:

  if(err || !data)
  {
      console.log("find is not done");
  }
  else{
      res.render("/profilearea.ejs");
  }

findOne({name:'amna'},function(err,posts){/}}名称amna存在于我的数据库中,但这也会打印“find is not done”@JohnyHK@ana注释中的代码将
posts
作为第二个参数。这只是一个输入错误吗?PersonalInfo.findOne({name:'amna'},function(err,post){/}}我想问的是,这篇文章是在find by find query???@JohnyHKPersonalInfo.findOne({name:'amna'},function(err,posts){/}}中的数据,amna的名字出现在我的数据库中,但这也打印出“find is not done” ...... @JohnyHK@ana你评论中的代码有
posts
作为第二个参数。这仅仅是一个输入错误吗?PersonalInfo.findOne({name:'amna'},function(err,post){/}}我想问一下,post是按查找查询中的数据吗???@JohnyHK