MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да използвате повторно mongo връзка с обещания

Не, това е невъзможно, когато не знаете дали базата данни вече е свързана или не. Ако може да се наложи първо да се свържете и това е асинхронно, тогава this.db трябва да даде обещание и ще трябва да използвате then .

Забележете, че с Bluebird можете да съкратите малко този код и да избегнете многословния .then() обратно извикване чрез използване на .call() метод :

Job.prototype.getDb = function() {
  if (!this.db)
    this.db = Mongo.connectAsync(this.options.connection);
  return this.db;
};
Job.prototype.test = function() {
  return this.getDb().call('collection', 'abc').call('findAsync');
};



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. най-добрата практика на mongodb:влагане

  2. MongoDB/PyMongo:как да „избягате“ параметри при търсене с regex?

  3. MongoDB не опреснява данните автоматично?

  4. Mongodb актуализира конкретния елемент от подмасив

  5. mongodb - Конструирайте DBRef с низ или ObjectId