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

Dane null po zapisaniu encji za pomocą Moongose ​​i GraphQL

Mieszasz obietnice i oddzwonienia. exec() zwróci Promise, ale tylko wtedy, gdy nie ma przekazanych żadnych argumentów. Dodatkowo musisz zwrócić obietnicę zwróconą przez exec() .

return budget.save().then((res) => {
  return Budget.findById(res._id) // missing return here
    .populate('User')
    .populate('Vehicle')
    .exec() // don't need anything else
})

Możesz to trochę bardziej posprzątać:

return budget.save()
  .then(res => Budget.findById(res._id)
    .populate('User')
    .populate('Vehicle')
    .exec())

Jeśli potrzebujesz przekształcić wyniki zwrócone przez findById przed przekazaniem ich klientowi:

return budget.save()
  .then(res => Budget.findById(res._id)
    .populate('User')
    .populate('Vehicle')
    .exec())
  .then(res => {
    res.foo = 'Foo'
    return res
  })



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zainstalować MongoDB Community Edition na Ubuntu?

  2. Nie udało się uruchomić aplikacji (port 8080) niedostępny

  3. Konwersja typu danych w MongoDB

  4. Jak znaleźć dokumenty spełniające wiele kryteriów

  5. Mongodb zwraca wiele wyników podtablic i wyklucza inne zwrócone wyniki