मैनुअल से, options
तर्क को "fields"
. की आवश्यकता है इसमें कुंजी है क्योंकि अन्य विवरण हैं जैसे कि "upsert"
और "new"
जहां यह लागू होता है। आपके मामले में आप भी "new"
चाहते हैं विकल्प:
User.findOneAndUpdate(
{ "_id": "132324" },
{ "$set": { "hair_color": "yellow" } },
{
"fields": { "first_name":1, "last_name": 1 },
"new": true
}
).exec(...)
वैकल्पिक रूप से आप .select()
. का उपयोग कर सकते हैं
User.select({ "first_name": 1, "last_name": 1 }).findOneAndUpdate(
{ "_id": "132324" },
{ "$set": { "hair_color": "yellow" } },
{ "new": true }
).exec(...)
ध्यान दें कि बिना "new": true
. के लौटाया गया दस्तावेज़ पहले . स्थिति में है अद्यतन का संशोधन संसाधित किया गया था। कभी-कभी आपका यही मतलब होता है, लेकिन अधिकांश समय आप वास्तव में संशोधित दस्तावेज़ चाहते हैं।