2016-06-26 11 views
0

Ich habe eine Sammlung namens Bücher, die Objekte hat - isbn, Autor, Anzahl der Bücher (num), Verlag und so weiter. Gleich nachdem ich die Buchinformationen aus meiner Sicht bekommen habe, möchte ich prüfen, ob der isbn des Buches bereits existiert und wenn ja, möchte ich die Anzahl der Bücher erhöhen. Die Anzahl wird jedoch niemals erhöht, auch wenn es sich um dasselbe Buch handelt. Wer weiß warum?NodeJS MongoDb doppelte Werte finden und Inkrement ändern

var collection = db.collection('books'); 

     var item=collection.findAndModify({ 
     query: { isbn: req.body.isbn13 }, 
     update: { $inc: { num: 1 } }, 
     }); 
     if(item==null) 
     {add the info to the database} 

Antwort

0

Sie sollten eine Callback-Funktion verwenden zu prüfen, ob der Punkt null ist oder nicht gefunden,

https://mongodb.github.io/node-mongodb-native/markdown-docs/insert.html

var collection = db.collection('books'); 

     var item=collection.findAndModify({ 
     query: { isbn: req.body.isbn13 }, 
     update: { $inc: { num: 1 } }, 
     }, function(err, object) 
{ 
//check here & add the info to the database 
});