2016-03-20 15 views
0

Ich versuche, eine if-Anweisung in Node.js mit einer mongoose-Abfrage zu schreiben, aber die if-Anweisung wird nicht korrekt ausgeführt.if-Anweisung in node.js mit einer Mungo-Abfrage

Ich mache das so:

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

Aber der obige Code funktioniert, wenn es in Java war aber nicht in Node.js weil req.render ('home.html'); wird ausgeführt, bevor JobDB.find() beendet wird.

Antwort

1

Die meisten Funktionen in Node.js asynchron sind, so müssen Sie einen Rückruf verwenden:

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

(Sie werden einige Fehlerbehandlung dort enthalten müssen)

der Dokumentation Siehe: http://mongoosejs.com/docs/2.7.x/docs/finding-documents.html