MongoDB में ऐरे एलिमेंट हटाने के लिए, आप $pull और $in ऑपरेटर का उपयोग कर सकते हैं। सिंटैक्स इस प्रकार है:
db.yourCollectionName.update({}, {$pull:{yourFirstArrayName:{$in:["yourValue"]},yourSecondArrayName:"yourValue"}}, {multi:true} );
उपरोक्त सिंटैक्स को समझने के लिए, आइए डॉक्यूमेंट के साथ एक कलेक्शन बनाएं। डॉक्यूमेंट के साथ कलेक्शन बनाने की क्वेरी इस प्रकार है:
>db.removeArrayElement.insertOne({"StudentName":"Larry","StudentCoreSubject":["MongoDB","MySQL","SQL Server","Java"],"StudentFavouriteTeacher":["John","Marry","Carol"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6ec9c46fd07954a4890688") }
find() मेथड की मदद से कलेक्शन से सभी डॉक्यूमेंट्स प्रदर्शित करें। क्वेरी इस प्रकार है:
> db.removeArrayElement.find().pretty();
निम्नलिखित आउटपुट है:
{ "_id" : ObjectId("5c6ec9c46fd07954a4890688"), "StudentName" : "Larry", "StudentCoreSubject" : [ "MongoDB", "MySQL", "SQL Server", "Java" ], "StudentFavouriteTeacher" : [ "John", "Marry", "Carol" ] }
यहां MongoDB में ऐरे एलिमेंट हटाने की क्वेरी है:
> db.removeArrayElement.update({}, {$pull:{StudentCoreSubject:{$in:["Java"]},StudentFavouriteTeacher:"Marry"}}, {multi:true} );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
हमने ऊपर पहले ऐरे ("StudentCoreSubject") से "Java" एलिमेंट और दूसरे ऐरे ("StudentFavouriteTeacher") से दूसरा मान "Marry" एलिमेंट हटा दिया है।
आइए एक बार फिर कलेक्शन से डॉक्यूमेंट्स प्रदर्शित करके जांचें कि दोनों एलिमेंट्स हटाए गए हैं या नहीं। क्वेरी इस प्रकार है:
> db.removeArrayElement.find().pretty();
निम्नलिखित आउटपुट है:
{ "_id" : ObjectId("5c6ec9c46fd07954a4890688"), "StudentName" : "Larry", "StudentCoreSubject" : [ "MongoDB", "MySQL", "SQL Server" ], "StudentFavouriteTeacher" : [ "John", "Carol" ] }
उपरोक्त सैंपल आउटपुट को देखें, पहले ऐरे ("StudentCoreSubject") में कोई "Java" एलिमेंट नहीं है और दूसरे ऐरे ("StudentFavouriteTeacher") में कोई "Marry" एलिमेंट नहीं है। इसलिए, हमने उन्हें कलेक्शन से सफलतापूर्वक हटा दिया है।