ऐसा क्यों होता है?
डिफ़ॉल्ट मूल, अपरिवर्तित . को वापस करना है दस्तावेज़। यदि आप चाहते हैं कि नया, अद्यतन दस्तावेज़ लौटाया जाए तो आपको एक अतिरिक्त तर्क देना होगा:new
वाला ऑब्जेक्ट संपत्ति true
. पर सेट है ।
नेवला डॉक्स से:
<ब्लॉकक्वॉट>क्वेरी#findOneAndUpdate
Model.findOneAndUpdate(conditions, update, options, (error, doc) => {
// error: any errors that occurred
// doc: the document before updates are applied if `new: false`, or after updates if `new = true`
});
उपलब्ध विकल्प
new
:बूल - अगर सत्य , संशोधित . लौटाएं मूल के बजाय दस्तावेज़। गलत पर डिफ़ॉल्ट (4.0 में बदला गया)
समाधान
पास {new: true}
यदि आप doc
. में अद्यतन परिणाम चाहते हैं चर:
// V--- THIS WAS ADDED
Cat.findOneAndUpdate({age: 17}, {$set:{name:"Naomi"}}, {new: true}, (err, doc) => {
if (err) {
console.log("Something wrong when updating data!");
}
console.log(doc);
});