MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Utilisez bluebird pour la mangouste, got .bind n'est pas une fonction

Le problème que vous rencontrez est que les requêtes mangouste ne renvoient pas de promesses complètes - en citant directement 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'));

En d'autres termes, le then la fonction est du sucre de syntaxe et non une promise c'est pourquoi le bind et d'autres fonctions de promesse ne fonctionnent pas.

Pour le faire fonctionner, soit vous l'enveloppez dans une promesse complète, soit vous utilisez le exec fonctionner comme suggéré dans les docs