Aus dem Handbuch die options Argument benötigt ein "fields" Geben Sie es ein, da es andere Details wie "upsert" gibt und "new" wo dies zutrifft. In Ihrem Fall Sie auch wollen den "new" Möglichkeit:
User.findOneAndUpdate(
{ "_id": "132324" },
{ "$set": { "hair_color": "yellow" } },
{
"fields": { "first_name":1, "last_name": 1 },
"new": true
}
).exec(...)
Alternativ können Sie .select() verwenden
User.select({ "first_name": 1, "last_name": 1 }).findOneAndUpdate(
{ "_id": "132324" },
{ "$set": { "hair_color": "yellow" } },
{ "new": true }
).exec(...)
Beachten Sie, dass ohne "new": true das zurückgegebene Dokument ist im Zustand vorher Die Änderung des Updates wurde verarbeitet. Manchmal meinen Sie das, aber meistens möchten Sie wirklich das modifizierte Dokument.