sql >> Databáze >  >> NoSQL >> MongoDB

Použijte bluebird pro mongoose, got .bind není funkce

Problém, který máte, je ten, že dotazy na mongoose nevrací plnohodnotné sliby – přímo citovat 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'));

Jinými slovy, then funkce je syntax cukr a ne promise což je důvod, proč bind a další funkce slibu nefungují.

Aby to fungovalo, buď to zabalíte do úplného slibu, nebo použijete exec fungovat, jak je navrženo v docs




  1. Proč PyMongo vyvolává AutoReconnect?

  2. mongodb:dotaz na prvních několik řádků, kde součet konkrétního sloupce je větší nebo roven C

  3. Nelze zprovoznit unikátní validátor mongoose

  4. MEAN Stack File uploads