कुछ घंटों के बाद यह पता लगाने की कोशिश की गई कि त्रुटि कहाँ थी और यह डेटाबेस को अपडेट क्यों नहीं कर रहा था, मुझे पता चला कि इसने वास्तव में डेटाबेस को अपडेट किया था। समस्या यह थी कि मैं मोंगो खोल में अद्यतन की जांच कर रहा था और जब मैंने इसे नोडज पोस्ट अनुरोध पर अद्यतन किया, तो यह अद्यतन के रूप में खोल में प्रकट नहीं हुआ। हालांकि जब मैं लेबल कंसोल.लॉग() करता हूं, तो इसे अपडेट किया गया था। इसलिए मैंने समस्या की और जांच की और मुझे पता चला कि समस्या मैंगो शेल नहीं थी, बल्कि नेवला कमांड अपडेट का गलत उपयोग था। मुझे कॉलबैक तर्क याद आ रहा था। कॉलबैक फ़ंक्शन जोड़ने के बाद, डेटा को तुरंत मोंगो शेल में अपडेट किया गया।
तो करने के बजाय:
Label.update({'_id': { $in: post.labelIds }}, {$addToSet: {postIds:req.body.id}}, {multi: true})
कॉलबैक जोड़ना नहीं भूलना चाहिए:
Label.update({'_id': { $in: post.labelIds }}, {$addToSet: {postIds:req.body.id}}, {multi: true}, function(err, affected) {
if(err)
console.log(err)
else
console.log(affected)
// After successful update, redirect here to another page...
या जैसा कि डुप्लिकेट उत्तर से पता चलता है कि निष्पादन चल रहा है ():
Label.update({'_id': { $in: post.labelIds }}, {$addToSet: {postIds:req.body.id}}, {multi: true}).exec()