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"
và "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.