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

Usa bluebird per mangusta, ottenuto .bind non è una funzione

Il problema che stai riscontrando è che le query mongoose non restituiscono promesse a tutti gli effetti -- citando direttamente 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'));

In altre parole, il then la funzione è lo zucchero della sintassi e non una promise ecco perché il bind e altre funzioni di promessa non funzionano.

Per farlo funzionare, lo avvolgi in una promessa completa o usi il exec funzionare come suggerito nei documenti