MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Данните са нулеви след запазване на обект с Moongose ​​и GraphQL

Смесвате Promises и callbacks. exec() ще върне Promise, но само ако няма предадени аргументи към него. Освен това трябва да върнете обещанието, върнато от exec() .

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

Можете да почистите това още малко:

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

Ако трябва да трансформирате резултатите, върнати от findById преди да ги предадете на клиента:

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. Свързване на MongoDB с Ruby със самоподписани сертификати за SSL

  2. Не може да се използва заявка за експортиране на Mongo

  3. Mongoose добавя изтичащ атрибут за конкретно поле

  4. MongoDB dropIndexes()

  5. mongodb филтърни документи с дължина, ширина и конкретно разстояние