sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man återanvänder en mongo-anslutning med löften

Nej, det är omöjligt när du inte vet om databasen redan är ansluten eller inte. Om du kanske behöver ansluta först, och det är asynkront, så this.db måste ge ett löfte, och du måste använda then .

Lägg märke till att med Bluebird kan du förkorta den koden en aning och undvika den verbose .then() återuppringning genom att använda .call() metod :

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. Java, MongoDB:Hur uppdaterar man varje objekt samtidigt som man itererar en enorm samling?

  2. Konfigurera MongoDB + Django

  3. Räkna en underdokumentegenskap i en projektion med MongoDB och Javascript

  4. Kan meteor mongo förare hantera $each och $position operatorer?