Masalah yang Anda alami adalah bahwa kueri luwak tidak mengembalikan janji matang penuh -- langsung mengutip https:// 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'));
Dengan kata lain, then fungsinya adalah gula sintaks dan bukan promise itulah sebabnya bind dan fungsi janji lainnya tidak berfungsi.
Untuk membuatnya berfungsi, Anda dapat membungkusnya dengan janji penuh atau menggunakan exec berfungsi seperti yang disarankan dalam dokumen