Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में ऐरे को दूसरे फील्ड के साथ अपडेट करने के लिए क्वेरी

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 के साथ ऐरे को सॉर्ट करके रख सकते हैं।

  1. - MongoDB क्वेरी: इंडेक्स N पर ऐरे ऑब्जेक्ट अपडेट करें

    MongoDB में ऐरे ऑब्जेक्ट अपडेट करने के लिए update() का उपयोग करें। डॉट नोटेशन का उपयोग भी आवश्यक है। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo489.insertOne( ... { ... ... ...    details : [{ ...       id : 101, ...       "Info1" : { ... &

  1. - MongoDB में एम्बेडेड डॉक्यूमेंट की सरणी पर फ़िल्टर क्वेरी कैसे करें?

    इसके लिए MongoDB में aggregate() का उपयोग करें। आइए 3 स्तरों के नेस्टेड डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं: > db.demo736.insertOne( { _id: 101, details1: [ { details2: [ { details3: { Name: John } } ] } ] } ); { acknowledged : true, insertedId : 101 } > db.demo736.insertOne( { _id: 102,

  1. - MongoDB क्वेरी: फॉर्मूला के साथ कलेक्शन में प्रत्येक डॉक्यूमेंट के प्रत्येक फील्ड को अपडेट करें

    कलेक्शन में प्रत्येक डॉक्यूमेंट के प्रत्येक फील्ड को फॉर्मूला के साथ अपडेट करने के लिए MongoDB update() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo749.insertOne({details:[{ id:1,a:10},{id:2,a:5},{id:3,a:20}]}); { acknowledged : true, insertedId : ObjectId(5eae6fb0a930c785c834e565) } find(