Det problem, du har, er, at mongoose-forespørgsler ikke returnerer fuldgyldige løfter -- direkte citerende 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'));
Med andre ord, then
funktion er syntaks sukker og ikke et promise
hvilket er grunden til bind
og andre løftefunktioner virker ikke.
For at få det til at virke, pakker du det enten ind i et fuldt løfte eller bruger exec
fungerer som foreslået i dokumenterne