MongoDB-এ একটি কালেকশনের সব ডকুমেন্টে একসাথে নতুন ফিল্ড যোগ করতে update() মেথডে $set অপারেটর এবং multi: true (বা { multi: true }) অপশন ব্যবহার করা হয়। এটি সব মেলে যাওয়া ডকুমেন্ট আপডেট করে।
সিনট্যাক্স
db.yourCollectionName.update(
{},
{ $set: { "yourFieldName": yourValue } },
false,
true
);
এখানে খালি কোয়েরি {} মানে সব ডকুমেন্ট, false = upsert না, true = multi (সব ডকুমেন্ট আপডেট)।
নমুনা কালেকশন তৈরি
> db.addNewFieldToEveryDocument.insertOne({ "StudentName": "John", "StudentAddress": "US" });
{ "acknowledged": true, "insertedId": ObjectId("5c6efc0b6fd07954a48906ae") }
> db.addNewFieldToEveryDocument.insertOne({ "StudentName": "David", "StudentAddress": "UK" });
{ "acknowledged": true, "insertedId": ObjectId("5c6efc0b6fd07954a48906af") }
> db.addNewFieldToEveryDocument.insertOne({ "StudentName": "Carol", "StudentAddress": "UK" });
{ "acknowledged": true, "insertedId": ObjectId("5c6efc0b6fd07954a48906b0") }
> db.addNewFieldToEveryDocument.insertOne({ "StudentName": "Bob", "StudentAddress": "US" });
{ "acknowledged": true, "insertedId": ObjectId("5c6efc0b6fd07954a48906b1") }
ডকুমেন্টগুলো দেখানো
> db.addNewFieldToEveryDocument.find().pretty();
আউটপুট (আপডেটের আগে):
{ "_id": ObjectId("5c6efc0b6fd07954a48906ae"), "StudentName": "John", "StudentAddress": "US" }
{ "_id": ObjectId("5c6efc0b6fd07954a48906af"), "StudentName": "David", "StudentAddress": "UK" }
{ "_id": ObjectId("5c6efc0b6fd07954a48906b0"), "StudentName": "Carol", "StudentAddress": "UK" }
{ "_id": ObjectId("5c6efc0b6fd07954a48906b1"), "StudentName": "Bob", "StudentAddress": "US" }
নতুন ফিল্ড যোগ করার কোয়েরি
> db.addNewFieldToEveryDocument.update(
{},
{ $set: { "StudentAge": 24 } },
false,
true
);
WriteResult({ "nMatched": 4, "nUpserted": 0, "nModified": 4 })
আপডেটের পর যাচাই
> db.addNewFieldToEveryDocument.find().pretty();
আউটপুট:
{ "_id": ObjectId("5c6efc0b6fd07954a48906ae"), "StudentName": "John", "StudentAddress": "US", "StudentAge": 24 }
{ "_id": ObjectId("5c6efc0b6fd07954a48906af"), "StudentName": "David", "StudentAddress": "UK", "StudentAge": 24 }
{ "_id": ObjectId("5c6efc0b6fd07954a48906b0"), "StudentName": "Carol", "StudentAddress": "UK", "StudentAge": 24 }
{ "_id": ObjectId("5c6efc0b6fd07954a48906b1"), "StudentName": "Bob", "StudentAddress": "US", "StudentAge": 24 }
ব্যাখ্যা: সব ৪টি ডকুমেন্টে StudentAge: 24 ফিল্ড যোগ হয়েছে। updateMany() (MongoDB ৩.২+) ব্যবহার করাই আধুনিক পদ্ধতি:
db.addNewFieldToEveryDocument.updateMany(
{},
{ $set: { "StudentAge": 24 } }
);