MongoDB में $pull के साथ ऐरे से तत्व हटाना
ऐरे से तत्व हटाने के लिए $pull का उपयोग करें।
कलेक्शन बनाना
> db.demo279.insertOne({id:[101,103,105,110]});
{ "acknowledged": true, "insertedId": ObjectId("5e490af7dd099650a5401a58") }
> db.demo279.insertOne({id:[107,111,110]});
{ "acknowledged": true, "insertedId": ObjectId("5e490b06dd099650a5401a59") }
अपडेट से पहले
> db.demo279.find();
ऐरे से तत्व हटाने की क्वेरी
> db.demo279.update({},{$pull:{id:110}},{multi:true}); WriteResult({ "nMatched": 2, "nUpserted": 0, "nModified": 2 })अपडेट के बाद
> db.demo279.find();व्याख्या
- { }: खाली क्वेरी - सभी डॉक्यूमेंट्स
- $pull: {id: 110}: id ऐरे से मान 110 वाले सभी तत्व हटाता है
- {multi: true}: सभी मिलान वाले डॉक्यूमेंट्स अपडेट करता है (दोनों डॉक्यूमेंट्स में 110 था)
- पहला डॉक्यूमेंट: [101, 103, 105, 110] → [101, 103, 105]
- दूसरा डॉक्यूमेंट: [107, 111, 110] → [107, 111]
आधुनिक सिंटैक्स
// एकाधिक मान हटाएं
db.demo279.updateMany({}, { $pull: { id: { $in: [110, 105] } } })
// शर्त के साथ हटाएं
db.demo279.updateMany({}, { $pull: { id: { $gt: 100 } } })