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

MongoDB में वन-टू-मेनी एम्बेडेड दस्तावेज़ों में एंट्री जोड़ें

MongoDB में $push ऑपरेटर का उपयोग करके ऐरे में एलिमेंट जोड़ना

$push ऑपरेटर किसी मौजूदा ऐरे फ़ील्ड में एक मान जोड़ता है। यदि फ़ील्ड मौजूद नहीं है, तो यह ऐरे बनाता है।

सैंपल डेटा बनाना

> db.demo253.insertOne({
    _id: "101",
    isActive: false,
    details: [
        { Name: "Chris" },
        { CountryName: "US" }
    ]
});
{ "acknowledged" : true, "insertedId" : "101" }

दस्तावेज़ देखना (अपडेट से पहले)

> db.demo253.find();

आउटपुट:


$push के साथ ऐरे में नया एलिमेंट जोड़ना

> db.demo253.update(
    { _id: '101' },
    { $push: { details: { Age: 21 } } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

अपडेटेड दस्तावेज़ देखना

> db.demo253.find();

आउटपुट:


$push के उन्नत उपयोग

प्रत्येक मोडिफायर के साथ एकाधिक मान जोड़ना

> db.demo253.update(
    { _id: '101' },
    { $push: { details: { $each: [ { City: "NYC" }, { Zip: "10001" } ] } } }
);

$position के साथ विशिष्ट स्थान पर जोड़ना

> db.demo253.update(
    { _id: '101' },
    { $push: { details: { $each: [ { NewField: "First" } ], $position: 0 } } }
);

$slice के साथ ऐरे आकार सीमित करना

> db.demo253.update(
    { _id: '101' },
    { $push: { details: { $each: [ {} ], $slice: -5 } } }  // केवल अंतिम 5 रखें
);

महत्वपूर्ण: update() vs updateOne()/updateMany()

उदाहरण में deprecated update() उपयोग किया गया है। आधुनिक MongoDB में:

> db.demo253.updateOne(
    { _id: '101' },
    { $push: { details: { Age: 21 } } }
);
  1. - MongoDB में समान ID वाले दस्तावेज़ों के एलिमेंट्स को एग्रीगेट करना

    अलग-अलग दस्तावेज़ों में समान ID वाले एलिमेंट्स को ग्रुप करने के लिए MongoDB के $group एग्रीगेशन स्टेज का उपयोग करें। डेमो डेटा > db.demo602.insertOne({id:1,Name:Chris}); > db.demo602.insertOne({id:2,Name:David}); > db.demo602.insertOne({id:1,Name:Bob}); > db.demo602.insertOne({id:3,Name

  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 में bulkWrite() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo760.insertOne({id:1,details:{Value1:100,Value2:50}}); { acknowledged : true, insertedId : ObjectId(5eb0309f5637cd592b2a4aee) } > db.demo760.insertOne({id:2,details:{Value1: