একাধিক নির্দিষ্ট আইডি আপডেট: updateMany() + $in
MongoDB-এ একাধিক নির্দিষ্ট _id দিয়ে ডকুমেন্টগুলো একসাথে আপডেট করতে updateMany() এবং $in অপারেটর ব্যবহার করা হয়।
নমুনা ডেটা তৈরি
> db.demo476.insertOne({ _id: 1, "Name": "Chris" })
> db.demo476.insertOne({ _id: 2, "Name": "David" })
> db.demo476.insertOne({ _id: 3, "Name": "Bob" })
> db.demo476.insertOne({ _id: 4, "Name": "Carol" })
সমস্ত ডকুমেন্ট দেখানো
> db.demo476.find()
আউটপুট:
{ "_id": 1, "Name": "Chris" }
{ "_id": 2, "Name": "David" }
{ "_id": 3, "Name": "Bob" }
{ "_id": 4, "Name": "Carol" }
নির্দিষ্ট আইডি (1 এবং 3) আপডেট করা
> db.demo476.updateMany(
{ _id: { $in: [1, 3] } },
{ $set: { Name: "Robert" } }
)
ফলাফল:
{ "acknowledged": true, "matchedCount": 2, "modifiedCount": 2 }
আপডেট後の ডকুমেন্ট
> db.demo476.find()
আউটপুট:
{ "_id": 1, "Name": "Robert" }
{ "_id": 2, "Name": "David" }
{ "_id": 3, "Name": "Robert" }
{ "_id": 4, "Name": "Carol" }
ব্যাখ্যা
$in: [1, 3]: _id ১ বা ৩ যেকোনো হলে মэтচ করেupdateMany(): সব মিলে যাওয়া ডকুমেন্ট আপডেট করে (পুরনোupdate({}, ..., { multi: true })এর প্রতিস্থাপী)$set: { Name: "Robert" }: শুধু Name ফিল্ড আপডেট করে, বাকি অপরিবর্তিতmatchedCount: কতটি ডকুমেন্ট মэтচ করেছেmodifiedCount: কতটি ডকুমেন্ট আসলে পরিবর্তিত হয়েছে
বাল্ক আপডেটের জন্য খুব কার্যকর এবং পারফরম্যান্স-বান্ধব।