MongoDB दस्तावेज़ की सरणी से विशिष्ट स्ट्रिंग मान हटाने के लिए $pull ऑपरेटर का उपयोग करें।
उदाहरण
मिश्रित डेटा प्रकार वाली सरणी के साथ कलेक्शन बनाएं:
> db.removeAStringDemo.insertOne({"Score":[45,67,89,"John",98,99,67]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5224b50a6c6dd317adbd") }
दस्तावेज़ देखें:
> db.removeAStringDemo.find().pretty();
{ "_id" : ObjectId("5cda5224b50a6c6dd317adbd"), "Score" : [ 45, 67, 89, "John", 98, 99, 67 ] }
"John" स्ट्रिंग को सरणी से हटाएं
> db.removeAStringDemo.update(
{ _id : ObjectId("5cda5224b50a6c6dd317adbd") },
{ $pull: { "Score": "John" }}
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
परिणाम जांचें:
> db.removeAStringDemo.find().pretty();
{ "_id" : ObjectId("5cda5224b50a6c6dd317adbd"), "Score" : [ 45, 67, 89, 98, 99, 67 ] }
महत्वपूर्ण:
$pullसरणी से सभी मिलान करने वाले मान हटा देता है, केवल पहला नहीं- यह सटीक मान मिलान करता है (प्रकार सहित) - स्ट्रिंग "45" संख्या 45 से अलग है
- एकाधिक दस्तावेज़ों के लिए
updateMany()याmulti: trueका उपयोग करें
संबंधित ऑपरेटर: $pullAll एक साथ कई मान हटाने के लिए उपयोगी है: {$pullAll: {"Score": ["John", "Jane"]}}।