MongoDB में $push के साथ ऐरे में तत्व जोड़ना
ऐरे को दूसरे फील्ड के साथ अपडेट करने के लिए $push का उपयोग करें।
कलेक्शन बनाना
> db.demo283.insertOne({"Name":"Chris","Status":["Active","Inactive"]});
{ "acknowledged": true, "insertedId": ObjectId("5e4ab97ddd099650a5401a75") }
अपडेट से पहले
> db.demo283.find();
ऐरे में नए तत्व जोड़ने की क्वेरी
> db.demo283.update({}, {$push: {Status:{$each:['Regular', 'NotRegular'], '$slice': -4}}}); WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })अपडेट के बाद
> db.demo283.find();व्याख्या
- $push: ऐरे में तत्व जोड़ता है
- $each: ['Regular', 'NotRegular']: एकाधिक तत्व एक साथ जोड़ता है
- $slice: -4: ऐरे को अंतिम 4 तत्वों तक सीमित करता है (नकारात्मक = अंत से)
- यहां पहले 2 तत्व थे, 2 नए जोड़े गए = 4 कुल, $slice -4 कोई प्रभाव नहीं (पहले से 4 हैं)
- यदि 5 तत्व होते, तो पहला हट जाता
उपयोग के मामले
- फिक्स्ड-साइज लॉग/इतिहास ऐरे बनाए रखना
- हाल की गतिविधि ट्रैक करना (नवीनतम N प्रविष्टियाँ)
- $slice सकारात्मक (शुरुआत से) या नकारात्मक (अंत से) हो सकता है
नोट
$position के साथ $each का उपयोग करके विशिष्ट स्थिति पर इन्सर्ट कर सकते हैं। $sort के साथ ऐरे को सॉर्ट करके रख सकते हैं।