findAndModify
विधि में निम्नलिखित हस्ताक्षर हैं
findAndModify(query, sort, doc, options, callback)
जहां
query<object>:संशोधित करने के लिए वस्तु का पता लगाने के लिए क्वेरी वस्तु।sort<array>:यदि एकाधिक दस्तावेज़ मेल खाते हैं, तो निर्दिष्ट क्रम में पहले वाले को हेरफेर करने के लिए ऑब्जेक्ट के रूप में चुनें।doc<object>:फ़ील्ड/वैल अपडेट किए जाने हैं।options<object>वैकल्पिक:वैकल्पिक सेटिंग्स।
आपको त्रुटि क्यों मिल रही है इसका कारण यह है कि sort विनिर्देश गायब है और इसके बजाय यह अपडेट पढ़ रहा है doc sort . के रूप में पैरामीटर।
आपको सॉर्ट पैरामीटर को निम्नानुसार निर्दिष्ट करने की आवश्यकता है:
db.get().collection('bars').findAndModify(
{ "barID": req.body.button }, // query
[ ["barID", 1] ], // sort
{
"$push": { // doc
"usersfbID": req.body.profileUser[0].facebookID,
"usersDocID": req.body.profileUser[0]._id
}
},
{ "new": true }, // options
function(err, doc){ // callback
if (err){
throw err;
} else if(doc){
console.log('Existing document updated successfully');
console.log(doc);
}
}
);