sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan genbruger du en mongoforbindelse med løfter

Nej, det er umuligt, når du ikke ved, om databasen allerede er forbundet eller ej. Hvis du måske skal oprette forbindelse i starten, og det er asynkront, så this.db skal give et løfte, og du skal bruge then .

Bemærk, at med Bluebird kan du forkorte den kode en smule og undgå den verbose .then() tilbagekald ved at bruge .call() metode :

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. Mangust udvalgte felter (indlejrede)

  2. Hvordan dropper man indsamling fra databasen i MongoDB ved hjælp af Mongo DB JAVA-driver?

  3. Omdøbning af et felt i et indlejret dokument i et array i MongoDB virker ikke

  4. Ude af stand til at afkode ObjectId SubValue fra MongoDB resultater i Golang