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.