Problem, który masz, polega na tym, że zapytania dotyczące mangusty nie zwracają pełnych obietnic — bezpośrednio cytując 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'));
Innymi słowy, then
funkcja jest cukrem składni, a nie promise
dlatego bind
i inne funkcje obietnic nie działają.
Aby to zadziałało, albo zapakuj go w pełną obietnicę, albo użyj exec
działać zgodnie z sugestiami w dokumentacji