এই অধ্যায়টি মঙ্গো শেল ব্যবহার করে মঙ্গোডিবি ডকুমেন্ট ডেটা এর ব্যাচ অপারেশন (বাল্ক রাইট) পরিচিত করে। এখানে, ব্যাচ অপারেশন আগের অধ্যায়ে উল্লিখিত ডকুমেন্ট সংশোধনের ব্যাচ আপডেট না কেবলমাত্র ডকুমেন্ট প্রবেশ, আপডেট, এবং মুছে ফেলার জন্য সমর্থন করে।
বাল্করাইট ফাংশনটি মঙ্গো শেলে ব্যবহৃত হয় বাল্ক অপারেশনের জন্য।
টিপ: বাল্ক অপারেশন সাধারণত বাল্ক ডেটা সিঙ্ক্রোনাইজেশন প্রয়োজনীয় সিনারিওতে ব্যবহৃত হয়।
বাল্করাইট ফাংশন দ্বারা সমর্থিত রাইট অপারেশন
বাল্ক অপারেশন নিম্নলিখিত রাইট অপারেশনের যে যে কম্বিনেশনগুলি সমর্থন করে:
- insertOne - একটি ডকুমেন্ট ঢুকিয়ে দিন
- updateOne - একটি ডকুমেন্ট আপডেট করুন
- updateMany - একটি ব্যাচ ডকুমেন্ট আপডেট করুন
- replaceOne - একটি ডকুমেন্ট প্রতিস্থাপন করুন
- deleteOne - একটি ডকুমেন্ট মুছুন
- deleteMany - একটি ব্যাচ ডকুমেন্ট মুছুন
সিনট্যাক্স ফরম্যাট
db.collection.bulkWrite(
[ <operation 1>, <operation 2>, ... ],
)
ব্যাখ্যা:
- অপারেশন - রাইট অপারেশন কনফিগারেশন দেখায়
- বাল্করাইট একটি রাইট অপারেশনের একটি অ্যারে গ্রহণ করে।
উদাহরণ
এখানে একটি বিস্তারিত উদাহরণ দেওয়া হল, যা একটি ডকুমেন্ট রাইট অপারেশনের বাতিলে একটি সেটের বাচ বিচারণ দেয়।
db.inventory.bulkWrite(
[
// একটি ডকুমেন্ট ঢুকিয়ে দিন
{ insertOne :
{
// ডকুমেন্টের বিষয়ী
"document" :
{
"_id" : 4, "char" : "Dithras", "class" : "barbarian", "lvl" : 4
}
}
},
{ insertOne :
{
"document" :
{
"_id" : 5, "char" : "Taeln", "class" : "fighter", "lvl" : 3
}
}
},
// একটি ডকুমেন্ট আপডেট করুন, উপাডেটম্যানি একটি ডকুমেন্টের সাথে একাধিক হলে এটি মিল থাকে
{ updateOne :
{
// আপডেটের শর্ত
"filter" : { "char" : "Eldon" },
// আপডেটের সামগ্রী
"update" : { $set : { "status" : "Critical Injury" } }
}
},
// একটি ডকুমেন্ট মুছুন, ডিলিটম্যানি একাধিক ডকুমেন্ট মুছুনের জন্য সমর্থন করে
{ deleteOne :
// মুছে ফেলার শর্ত
{ "filter" : { "char" : "Brisbane" } }
},
// একটি ডকুমেন্ট প্রতিস্থাপন করুন
{ replaceOne :
{
// প্রতিস্থাপনের শর্ত
"filter" : { "char" : "Meldane" },
// প্রতিস্থাপনের সামগ্রী
"replacement" : { "char" : "Tanys", "class" : "oracle", "lvl" : 4 }
}
}
]
);