Z instrukcji, options
argument wymaga "fields"
klucz w nim, ponieważ są tam inne szczegóły, takie jak "upsert"
i "new"
tam, gdzie ma to zastosowanie. W Twoim przypadku również chcesz "new"
opcja:
User.findOneAndUpdate(
{ "_id": "132324" },
{ "$set": { "hair_color": "yellow" } },
{
"fields": { "first_name":1, "last_name": 1 },
"new": true
}
).exec(...)
Alternatywnie możesz użyć .select()
User.select({ "first_name": 1, "last_name": 1 }).findOneAndUpdate(
{ "_id": "132324" },
{ "$set": { "hair_color": "yellow" } },
{ "new": true }
).exec(...)
Zauważając, że bez "new": true
zwrócony dokument ma stan przed modyfikacja aktualizacji została przetworzona. Czasami to właśnie masz na myśli, ale w większości przypadków naprawdę chcesz zmodyfikowany dokument.