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

MongoDB में Bulk Operations से Multiple Updates और Array Elements Update करना

इसके लिए initializeOrderedBulkOp() का उपयोग करें। यह collection के लिए new Bulk() operations builder initialize और return करता है। Builder write operations की ordered list construct करता है जो MongoDB bulk में execute करता है।

Collection बनाना

>db.demo550.insertOne({"Name":"Chris","details":[{"Marks":49,Result:"fail"},{"Marks":58,Result:"fail"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8e35bd9e5f92834d7f05e4") }

सभी Documents Display करना

> db.demo550.find();

Output:

{ "_id" : ObjectId("5e8e35bd9e5f92834d7f05e4"), "Name" : "Chris", "details" : [ { "Marks" : 49, "Result" : "fail" }, { "Marks" : 58, "Result" : "fail" } ] }

Bulk Operations से Array Elements Update Query

> var all= db.demo550.initializeOrderedBulkOp(),
... itr = 0;
> db.demo550.find({ "Name": "Chris", "details.Result": "fail" }).forEach(function(doc) {
...   doc.details.filter(function(d){ return d.Result = "fail" }).forEach(function(d) {
...     all.find({ "_id": doc._id, "details.Result": "fail" }).updateOne({
...       "$set": { "details.$.Result": "PASS" }
...     });
...     itr++;
...     if ( itr % 10== 0 ) {
...       all.execute();
...       all = db.demo550.initializeOrderedBulkOp();
...     }
...   });
...   if ( itr % 10 != 0 )
...   all.execute();
... });

Updated Documents Display करना

> db.demo550.find();

Output:

{ "_id" : ObjectId("5e8e35bd9e5f92834d7f05e4"), "Name" : "Chris", "details" : [ { "Marks" : 49, "Result" : "PASS" }, { "Marks" : 58, "Result" : "PASS" } ] }

व्याख्या: Bulk operations multiple updates को efficiently batch में execute करते हैं। details.$.Result में $ positional operator matching array element को update करता है। हर 10 operations पर execute() called होता है।

  1. - MongoDB में Array Elements के साथ Specific Document Fetch करना

    MongoDB में किसी specific document को fetch करने के लिए find() मेथड में dot notation का उपयोग करें। आइए documents के साथ एक collection बनाते हैं: > db.demo672.insertOne({Brand:[{CategoryName:Mobile,Name:Oppo}]}); { acknowledged : true, insertedId : ObjectId(5ea3ea9b04263e90dac943e5) } > db.dem

  1. - MongoDB में डॉक्यूमेंट और सबडॉक्यूमेंट उदाहरण के साथ अपडेट

    डॉक्यूमेंट और सबडॉक्यूमेंट दिखाने वाला सिंटैक्स: db.yourCollectionName.insertOne( { yourFieldName: yourValue, yourFieldName: [ { yourFieldName1, yourFieldName2, ... N } ] } ); आइए

  1. - MySQL में AND ऑपरेटर के साथ UPDATE कैसे करें?

    MySQL में AND ऑपरेटर का उपयोग करके शर्तीय UPDATE करना MySQL में UPDATE स्टेटमेंट में AND ऑपरेटर का उपयोग करके एकाधिक शर्तों को संयोजित कर सकते हैं, जिससे केवल वही पंक्तियाँ अपडेट होती हैं जो सभी शर्तों को पूरा करती हैं। उदाहरण के साथ पूर्ण कार्यान्वयन टेबल बनाना CREATE TABLE DemoTable613 ( Id