বাল্ক অপারেশন (Bulk Operations) ব্যবহার
একই ডকুমেন্টে একই অপারেশনে $pull (মুছে ফেলা) এবং $addToSet (ইউনিক যোগ) করার জন্য initializeOrderedBulkOp() ব্যবহার করুন।
উদাহরণ: ডকুমেন্ট তৈরি
> db.pullAndAddToSetDemo.insertOne({ "StudentScores": [78, 89, 90] });
{ "acknowledged" : true, "insertedId" : ObjectId("5c9a797e15e86fd1496b38af") }
বাল্ক অপারেশন: 89 আছে -> 99 যোগ, 90 আছে -> 90 মুছে ফেলা
> var bulk = db.pullAndAddToSetDemo.initializeOrderedBulkOp();
> bulk.find({ "StudentScores": 89 }).updateOne({ $addToSet: { "StudentScores": 99 } });
> bulk.find({ "StudentScores": 90 }).updateOne({ $pull: { "StudentScores": 90 } });
> bulk.execute();
আউটপুট:
BulkWriteResult({ "nMatched" : 2, "nModified" : 2, ... })
ফাইনাল ডেটা
> db.pullAndAddToSetDemo.find().pretty();
আউটপুট: StudentScores: [78, 89, 99] (90 মুছে গেলো, 99 যুক্ত হয়েছে)।
ব্যাখ্যা
initializeOrderedBulkOp()- অর্ডার্ড বাল্ক অপারেশন শুরু- প্রতি
find().updateOne()আলাদা ফিল্টার/আপডেট execute()- সব একসাথে অ্যাপ্লাই
নোট: MongoDB 3.2+ এ bulkWrite() ব্যবহার করা ভালো (আধুনিক API)।