आपके "सेकेंडअरे" में एक नेस्टेड तत्व संरचना है, इसलिए आपको उस बाहरी तत्व की पहचान करनी चाहिए जिसे आप अपनी क्वेरी में एक स्थितिगत $
का उपयोग करते समय मिलान करना चाहते हैं। अद्यतन में ऑपरेटर। आपको मूल रूप से कुछ इस तरह चाहिए:
bulk.find({
"_id": new mongo.ObjectID(req.session._id),
"secondArray._id": "7423"
}).update({
"$pull": {
"firstArray": { "_id": "153" },
"secondArray.$.firstArrayIds": 153
}
});
तो वास्तव में "दो" आईडी मान हैं जिन्हें आपको सामान्य दस्तावेज़ आईडी के अतिरिक्त अपने अनुरोध के साथ पास करने की आवश्यकता है। भले ही यह नेस्टेड है, यह ठीक है क्योंकि आप केवल "बाहरी" स्तर पर और केवल एक सरणी पर मेल खाते हैं। यदि आपने एक से अधिक सरणी पर स्थिति का मिलान करने का प्रयास किया है तो यह स्थितीय ऑपरेटर के साथ संभव नहीं है।