我试图用一些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()完成之前执行。
答案 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