Dari manual, options
argumen membutuhkan "fields"
masukkan di dalamnya karena ada detail lain seperti "upsert"
dan "new"
di mana ini berlaku. Dalam kasus Anda, Anda juga ingin "new"
pilihan:
User.findOneAndUpdate(
{ "_id": "132324" },
{ "$set": { "hair_color": "yellow" } },
{
"fields": { "first_name":1, "last_name": 1 },
"new": true
}
).exec(...)
Sebagai alternatif, Anda dapat menggunakan .select()
User.select({ "first_name": 1, "last_name": 1 }).findOneAndUpdate(
{ "_id": "132324" },
{ "$set": { "hair_color": "yellow" } },
{ "new": true }
).exec(...)
Perhatikan bahwa tanpa "new": true
dokumen yang dikembalikan dalam keadaan sebelum modifikasi pembaruan diproses. Terkadang ini yang Anda maksud, tetapi sebagian besar waktu Anda benar-benar menginginkan dokumen yang dimodifikasi.