MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Użyj bluebirda dla mangusty, ale .bind nie jest funkcją

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Sortuj według indeksu tablicy

  2. ustaw domyślne wartości na tablice mangusty w węźle js

  3. poczekać, aż inne wdrożenia zaczną działać, zanim będzie można utworzyć inne?

  4. wyrzuć nową mangusę.Error.MissingSchemaError(nazwa); ^ MongooseError:Schemat nie został zarejestrowany dla sprzedawcy modeli

  5. Jak zwiększyć istniejącą wartość w MongoDB?