sql >> Databáze >  >> NoSQL >> MongoDB

Synchronní volání funkcí pro ovladač nodejs mongodb

Nemůžete použijte asynchronní výsledek jako návratovou hodnotu z funkce. Je to tak jednoduché. Asynchronní výsledek musíte doručit volajícímu prostřednictvím zpětného volání, které je poskytováno jako parametr funkce (nebo použijte futures/promises a efektivně odložte tento krok, ale to je složitější).

if_exists by měl místo toho vypadat takto:

var if_exists = function(query, where, callback) {

  require('mongodb').connect(DB.mongo_url, function(err, db) {
    db.collection(where, function(err, coll) {
      coll.findOne(query, function(e, r) {
        //console.log(r);
        if (r === null) {
          callback(e, false);
        } else {
          callback(e, true);
        }
        // You should either close db here or connect during start up
        // and leave it open.
        db.close();
      });
    });
  });
}



  1. MongoError write EPIPE” v instalaci Parse-Server

  2. Časový limit balancéru MongoDB se zpožděnou replikou

  3. Aktualizace pole dokumentu v mongo na základě hodnoty jiného pole

  4. Spring Data - MongoDB:Nelze načíst dokument DBRef, který patří do jiné databáze