MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Dữ liệu rỗng sau khi lưu thực thể bằng Moongose ​​và GraphQL

Bạn đang kết hợp Lời hứa và cuộc gọi lại. exec() sẽ trả về một Lời hứa, nhưng chỉ khi không có bất kỳ đối số nào được chuyển cho nó. Ngoài ra, bạn cần trả lại Lời hứa được trả lại bởi exec() .

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

Bạn có thể dọn dẹp điều này nhiều hơn một chút:

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

Nếu bạn cần chuyển đổi kết quả trả về bởi findById trước khi chuyển chúng cho khách hàng:

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. Có thể tạo cơ sở dữ liệu mới trong MongoDB với Mongoose không?

  2. Ưu điểm của việc sử dụng cơ sở dữ liệu không có lược đồ như MongoDB so với cơ sở dữ liệu quan hệ là gì?

  3. MongoDB $ năm

  4. MongoDB® với Hadoop và các công nghệ Dữ liệu lớn liên quan

  5. Nodejs Mongoose - làm thế nào để tránh gọi lại địa ngục?