এর জন্য, initializeOrderedBulkOp() ব্যবহার করুন। এটি একটি সংগ্রহের জন্য একটি নতুন বাল্ক() অপারেশন বিল্ডার শুরু করে এবং ফেরত দেয়। নির্মাতা লিখন ক্রিয়াকলাপের একটি অর্ডারকৃত তালিকা তৈরি করে যা MongoDB বাল্কভাবে সম্পাদন করে।
আসুন আমরা নথি সহ একটি সংগ্রহ তৈরি করি -
>db.demo550.insertOne({"Name":"Chris","details":[{"Marks":49,Result:"fail"},{"Marks":58,Result:"fail"}]}); { "acknowledged" : true, "insertedId" : ObjectId("5e8e35bd9e5f92834d7f05e4") }
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo550.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : ObjectId("5e8e35bd9e5f92834d7f05e4"), "Name" : "Chris", "details" : [ { "Marks" : 49, "Result" : "fail" }, { "Marks" : 58, "Result" : "fail" } ] }
মঙ্গোডিবি-তে একটি অ্যারেতে উপাদানগুলি আপডেট করার এবং বাল্ক অপারেশনগুলি সম্পাদন করার জন্য নিম্নোক্ত ক্যোয়ারী রয়েছে -
> 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(); ... });
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo550.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : ObjectId("5e8e35bd9e5f92834d7f05e4"), "Name" : "Chris", "details" : [ { "Marks" : 49, "Result" : "PASS" }, { "Marks" : 58, "Result" : "PASS" } ] }