MongoDB-এ একাধিক ডকুমেন্ট একসাথে আপডেট করতে update() মেথডে multi: true অপশন ব্যবহার করুন।
উদাহরণ
প্রথমে কিছু ডকুমেন্ট তৈরি করুন (তিনটি "John" নামে):
> db.multiUpdateDemo.insertOne({"ClientName":"John","ClientAge":29});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5bc0b50a6c6dd317adc8") }
> db.multiUpdateDemo.insertOne({"ClientName":"Carol","ClientAge":31});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5bc1b50a6c6dd317adc9") }
> db.multiUpdateDemo.insertOne({"ClientName":"John","ClientAge":39});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5bc3b50a6c6dd317adca") }
> db.multiUpdateDemo.insertOne({"ClientName":"John","ClientAge":41});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5bc5b50a6c6dd317adcb") }
> db.multiUpdateDemo.insertOne({"ClientName":"David","ClientAge":35});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5bc6b50a6c6dd317adcc") }
সকল ডকুমেন্ট দেখুন:
> db.multiUpdateDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cda5bc0b50a6c6dd317adc8"), "ClientName" : "John", "ClientAge" : 29 }
{ "_id" : ObjectId("5cda5bc1b50a6c6dd317adc9"), "ClientName" : "Carol", "ClientAge" : 31 }
{ "_id" : ObjectId("5cda5bc3b50a6c6dd317adca"), "ClientName" : "John", "ClientAge" : 39 }
{ "_id" : ObjectId("5cda5bc5b50a6c6dd317adcb"), "ClientName" : "John", "ClientAge" : 41 }
{ "_id" : ObjectId("5cda5bc6b50a6c6dd317adcc"), "ClientName" : "David", "ClientAge" : 35 }
সব "John"-এর বয়স ৩৪ سال আপডেট করা
> db.multiUpdateDemo.update(
{'ClientName': 'John'},
{$set: {'ClientAge': 34}},
{multi: true}
);
WriteResult({ "nMatched" : 3, "nUpserted" : 0, "nModified" : 3 })
আপডেট হওয়ার পর ডকুমেন্টগুলো যাচাই করুন:
> db.multiUpdateDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cda5bc0b50a6c6dd317adc8"), "ClientName" : "John", "ClientAge" : 34 }
{ "_id" : ObjectId("5cda5bc1b50a6c6dd317adc9"), "ClientName" : "Carol", "ClientAge" : 31 }
{ "_id" : ObjectId("5cda5bc3b50a6c6dd317adca"), "ClientName" : "John", "ClientAge" : 34 }
{ "_id" : ObjectId("5cda5bc5b50a6c6dd317adcb"), "ClientName" : "John", "ClientAge" : 34 }
{ "_id" : ObjectId("5cda5bc6b50a6c6dd317adcc"), "ClientName" : "David", "ClientAge" : 35 }
নোট: MongoDB ৩.২+ ভার্সনে updateMany() মেথড ব্যবহার করা ভালো, যা ডিফল্টভাবে একাধিক ডকুমেন্ট আপডেট করে।
db.multiUpdateDemo.updateMany(
{'ClientName': 'John'},
{$set: {'ClientAge': 34}}
);