如果node.js中的if语句带有一些mongoose查询

时间:2016-03-20 23:43:14

标签: node.js mongoose

我试图用一些mongoose查询在Node.js中编写一个if语句,但if语句没有正确执行。

所以我这样做:

    app.get('Job/GetJobs', function(req,res){ 
      if(JobDB.Find()==null){
        req.render('home.html');
      }
      else req.render('Job.html')
    })

但上面的代码可以在java中使用,但在Node.js中没有,因为req.render('home.html');在JobDB.find()完成之前执行。

1 个答案:

答案 0 :(得分:1)

Node.js中的大多数函数都是异步的,因此您需要使用回调:

app.get('Job/GetJobs', function(req,res){ 
    JobDB.find({}, function(err, result) {
        if(!result) req.render('home.html')
        else req.render('Job.html') 
    })
})

(你必须在那里加入一些错误处理)

请参阅文档:http://mongoosejs.com/docs/2.7.x/docs/finding-documents.html