MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Promise i sterownik nodejs MongoDB

Ręczne obiecywanie API jest niebezpieczne, proponuję coś w stylu:

TaskBroker.prototype._connectMongo = Q.nfcall(MongoClient.connect,
                                             'mongodb://127.0.0.1:27017/test',
                                            {});
TaskBroker.prototype.connectMongo = function(){
   return this._connectMongo().then(function(db){
       console.log("Hello");
       // self.stuff...
       return 42;
   }).catch(function(e){
       console.err("connection error",e); // log the connection error, or handler err
       throw e; // don't mark as handled, propagate the error.
   });
};

Z obietnicami Bluebird wyglądałoby to mniej więcej tak:

var MongoClient = Promise.promisifyAll(require("mongodb").MongoClient);

TaskBroker.prototype.connectMongo = function(){
    return MongoClient.connectAsync().then(... 
        // Bluebird will automatically track unhandled errors        
};


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak poradzić sobie z problemem strefy czasowej podczas przechowywania dat w utc za pomocą mongod?

  2. Jak tworzyć zapytania bez rozróżniania wielkości liter w Mongodb?

  3. Jak wykonać zapytanie dotyczące obiektów, do których istnieją odwołania w MongoDB?

  4. Doskonalenie sztuki automatyzacji i zarządzania najpopularniejszymi bazami danych typu open source:2017 @ Severalnines

  5. Kiedy zamknąć połączenie z bazą danych MongoDB w Nodejs