MongoDB में एक साथ कई दस्तावेज़ अपडेट करने के लिए multi: true विकल्प का उपयोग करें (या MongoDB 3.2+ में updateMany() मेथड)।
उदाहरण
कलेक्शन बनाएं:
> 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" की उम्र 34 पर अपडेट करें
> 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 3.2+)
db.multiUpdateDemo.updateMany(
{'ClientName': 'John'},
{$set: {'ClientAge': 34}}
);
updateMany() डिफ़ॉल्ट रूप से सभी मिलान करने वाले दस्तावेज़ों को अपडेट करता है और अधिक पठनीय है।