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

Mongoose chọn các trường để trả về từ findOneAndUpdate

Từ hướng dẫn sử dụng, các options đối số cần một "fields" nhập vào nó vì có các chi tiết khác như "upsert""new" khi điều này áp dụng. Trong trường hợp của bạn, bạn cũng muốn "new" tùy chọn:

User.findOneAndUpdate(
  { "_id": "132324" },
  { "$set": { "hair_color": "yellow" } },
  {
   "fields": { "first_name":1, "last_name": 1 },
   "new": true 
  }
).exec(...)

Ngoài ra, bạn có thể sử dụng .select()

User.select({ "first_name": 1, "last_name": 1 }).findOneAndUpdate(
  { "_id": "132324" },
  { "$set": { "hair_color": "yellow" } },
  { "new": true }
).exec(...)

Lưu ý rằng không có "new": true tài liệu được trả lại ở trạng thái trước đó việc sửa đổi bản cập nhật đã được xử lý. Đôi khi đây là ý của bạn, nhưng hầu hết thời gian bạn thực sự muốn tài liệu được sửa đổi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo Triple Compound Index

  2. mongodb đếm số giá trị riêng biệt trên mỗi trường / khóa

  3. Mongodb tổng hợp:chuyển đổi ngày sang múi giờ khác

  4. Tổng quan về Hồ sơ cơ sở dữ liệu MongoDB

  5. Tổng quan về mã hóa cấp trường phía máy khách trong MongoDB