কম্পিউটার টিউটোরিয়াল

MongoDB-এ bulkWrite() ব্যবহার করে একাধিক ডকুমেন্ট যোগ করা

bulkWrite() মেথড ব্যবহার করে বাল্ক আপসার্ট অপারেশন

MongoDB-এ একাধিক রাইট অপারেশন (ইনসার্ট, আপডেট, আপসার্ট) একসাথে কার্যকর করতে bulkWrite() মেথড ব্যবহার করা হয়। এটি অর্ডার্ড বা আনঅর্ডার্ড হতে পারে।

অ্যারে লিস্ট এবং অপারেশন তৈরি

> const arrayList = [
    {"Value1":100, "Value2":200, "Name": "John"},
    {"Value1":100, "Value2":200, "Name": "Bob"}
];
> let op1 = [];
> arrayList.forEach(({ Value1, Value2, Name }) => {
    op1.push({
        "updateOne": {
            "filter": { Name},
            "update": { "$set": { Value1, Value2, Name } },
            "upsert": true
        }
    })
});
> db.demo397.bulkWrite(op1);
{ "acknowledged" : true, "deletedCount" : 0, "insertedCount" : 0, "matchedCount" : 0, "upsertedCount" : 2, "insertedIds" : { }, "upsertedIds" : { "0" : ObjectId("5e5e8c07f995e1718151981c"), "1" : ObjectId("5e5e8c07f995e1718151981d") } }

ইনসার্ট হওয়া ডকুমেন্টগুলো দেখানো

> db.demo397.find();

ফলাফল:


ব্যাখ্যা: arrayList-এর প্রতিটি আইটেমের জন্য updateOne সাথে upsert: true দিয়ে অপারেশন তৈরি করা হয়েছে। Name ফিল্ড দিয়ে ফিল্টার করলে নতুন হলে ইনসার্ট (upsert), থাকলে আপডেট হয়। bulkWrite() একসাথে সব অপারেশন এক্সিকিউট করে। আধুনিক MongoDB-এ এটি বাল্ক অপারেশনের স্ট্যান্ডার্ড পদ্ধতি।

  1. MongoDB-এ নির্দিষ্ট ফিল্ডের সব ডকুমেন্টের মান যোগ করা (aggregate $sum)

  2. MongoDB-তে এমবেডেড ডকুমেন্ট কোয়েরি করা (aggregate + $unwind)

  3. MongoDB-তে $or অপারেটর ব্যবহার করে একাধিক শর্তে ডকুমেন্ট বের করা

  4. MongoDB-তে $in অপারেটর ব্যবহার করে নির্দিষ্ট একাধিক ডকুমেন্ট বের করা