MongoDB-এ একটি ডকুমেন্টের নির্দিষ্ট ফিল্ডের মান পরিবর্তন করার জন্য $set অপারেটর ব্যবহার করা হয়। এটি শুধু নির্দিষ্ট ফিল্ডটি আপডেট করে, বাকি ফিল্ডগুলো অপরিবর্তিত রেখে।
উদাহরণ: কালেকশন ও ডেটা তৈরি
> db.demo557.insertOne({Name:"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f28e954b4472ed3e8e864") }
> db.demo557.insertOne({Name:"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f28ee54b4472ed3e8e865") }
সব ডকুমেন্ট দেখানো
> db.demo557.find();
আউটপুট:
{ "_id" : ObjectId("5e8f28e954b4472ed3e8e864"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8f28ee54b4472ed3e8e865"), "Name" : "David" }
নির্দিষ্ট ফিল্ড আপডেট করা
Name: "Chris" वाले ডকুমেন্টের Name ফিল্ডটি "Robert" এ আপডেট করা:
> db.getCollection('demo557').update({Name:"Chris"}, {$set:{Name:"Robert"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
আপডেটের পর ডকুমেন্টগুলো দেখানো
> db.demo557.find();
আউটপুট:
{ "_id" : ObjectId("5e8f28e954b4472ed3e8e864"), "Name" : "Robert" }
{ "_id" : ObjectId("5e8f28ee54b4472ed3e8e865"), "Name" : "David" }
মূল পয়েন্টসমূহ
$setঅপারেটর শুধু নির্দিষ্ট ফিল্ড(গুলো) আপডেট করে।update()মেথডে প্রথম আর্গুমেন্ট হল কুয়েরি (ফিল্টার), দ্বিতীয় আর্গুমেন্ট হল আপডেট অপারেশন।nMatched: কতটি ডকুমেন্ট মিলে গেছে,nModified: কতটি ডকুমেন্ট আসলেই পরিবর্তিত হয়েছে।- আধুনিক MongoDB-এ
updateOne()(একটি ডকুমেন্ট) বাupdateMany()(একাধিক ডকুমেন্ট) ব্যবহার করা বেস্ট প্র্যাকটিস। - যদি ফিল্ডটি অস্তিত্বে না থাকে,
$setসেটি তৈরি করে দেবে।