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

MongoDB में एक ही अपडेट कॉल में एक दस्तावेज़ की दो अलग सरणियों को कैसे अपडेट करें?


$push के साथ एकाधिक सरणी फ़ील्ड अपडेट करना

एक ही update() ऑपरेशन में $push ऑब्जेक्ट में एकाधिक फ़ील्ड निर्दिष्ट करके दो अलग-अलग सरणियों में मान जोड़ सकते हैं।

उदाहरण: दो सरणी फ़ील्ड के साथ दस्तावेज़

> db.twoSeparateArraysDemo.insertOne({"StudentName":"Larry","StudentFirstGameScore":[98],"StudentSecondGameScore":[77]}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9b152815e86fd1496b38b8") }
> db.twoSeparateArraysDemo.insertOne({"StudentName":"Mike","StudentFirstGameScore":[58],"StudentSecondGameScore":[78]}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9b152d15e86fd1496b38b9") }
> db.twoSeparateArraysDemo.insertOne({"StudentName":"David","StudentFirstGameScore":[65],"StudentSecondGameScore":[67]}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9b153315e86fd1496b38ba") }

एक ही कॉल में दोनों सरणियों में मान जोड़ना (Mike के लिए)

> db.twoSeparateArraysDemo.update( 
    {_id: ObjectId("5c9b152d15e86fd1496b38b9")}, 
    { $push: { 
        StudentFirstGameScore: 45, 
        StudentSecondGameScore: 99 
    }} 
); 
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

सत्यापन

> db.twoSeparateArraysDemo.find().pretty();

आउटपुट: Mike के दस्तावेज़ में दोनों सरणियाँ अपडेटेड: StudentFirstGameScore: [58, 45], StudentSecondGameScore: [78, 99]। अन्य दस्तावेज़ अपरिवर्तित।

विस्तार:

  • $push के साथ $each का उपयोग करके एकाधिक मान जोड़ें: { $push: { scores: { $each: [90, 95, 100] } } }।
  • $addToSet का उपयोग करके डुप्लिकेट रोकें।
  • $slice और $sort मॉडिफायर के साथ सरणी आकार सीमित करें और क्रमबद्ध रखें।
  1. - MongoDB क्वेरी: नेस्टेड दस्तावेज अपडेट करें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo595.insertOne({ Information: [ { _id: new ObjectId(), Name:Chris }, { _id:new ObjectId(), Name:Robert } ] }); { acknowledged : true, insertedId : ObjectId(5e93369cfd2d90c177b5bce4) } find() मेथड की मदद से कलेक्शन के सभी

  1. - MongoDB: एक दस्तावेज में दो ऐरे के भीतर यूनिक मान प्राप्त करें

    एक दस्तावेज में दो ऐरे के भीतर यूनिक मान प्राप्त करने के लिए, aggregate() में $setUnion का उपयोग करें। $setUnion दो या अधिक ऐरे लेता है और एक ऐरे लौटाता है जिसमें वे एलिमेंट होते हैं जो किसी भी इनपुट ऐरे में दिखाई देते हैं। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo608.insertOne({List

  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: