sql >> Database >  >> NoSQL >> MongoDB

Gegevens null na het opslaan van entiteit met Moongose ​​en GraphQL

Je haalt beloftes en callbacks door elkaar. exec() zal een belofte retourneren, maar alleen als er geen argumenten aan zijn doorgegeven. Bovendien moet u de Belofte retourneren die is geretourneerd door exec() .

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

Je kunt dit wat meer opruimen:

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

Als u de resultaten moet transformeren die worden geretourneerd door findById voordat u ze aan de klant overdraagt:

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



  1. Een gepersonaliseerde Facebook-achtige nieuwsfeed bouwen:SQL, MongoDB?

  2. Update array met meerdere voorwaarden in mongodb

  3. Tel unieke waarden binnen de Array van het model in MongoDB

  4. Mongod-vork starten, ERROR:kindproces mislukt, afgesloten met foutnummer 1