sql >> Database >  >> NoSQL >> MongoDB

Gebruik bluebird voor mangoest, heb .bind is geen functie

Het probleem dat u ondervindt, is dat zoekopdrachten met mangoesten geen volledige beloften opleveren -- rechtstreeks citeren van http:// mongoosejs.com/docs/promises.html (v4.7.6)

// A query is not a fully-fledged promise, but it does have a `.then()`.
query.then(function (doc) {
  // use doc
});

// `.exec()` gives you a fully-fledged promise
var promise = query.exec();
assert.ok(promise instanceof require('mpromise'));

Met andere woorden, de then functie is syntaxis suiker en geen promise daarom is de bind en andere beloftefuncties werken niet.

Om het te laten werken, sluit je het af in een volledige belofte of gebruik je de exec functioneren zoals voorgesteld in de documenten




  1. hoe een nummerveld bij te werken met een ander nummerveld in MongoDB

  2. Duplicaten verwijderen uit MongoDB

  3. hoe de aggregatiefunctie in meteoor te gebruiken

  4. Wat is de maximale waarde die u in redis kunt opslaan?