MongoDB-এ নির্দিষ্ট ফিল্ড আপডেট করার জন্য $set অপারেটর ব্যবহার
MongoDB-এ একটি ডকুমেন্টের নির্দিষ্ট ফিল্ড(গুলো) আপডেট করতে, পুরো ডকুমেন্ট রিপ্লেস না করে $set অপারেটর ব্যবহার করা বেস্ট প্র্যাকটিস। এটি পার্শিয়াল আপডেট নিশ্চিত করে।
১. কালেকশন ও নমুনা ডেটা তৈরি
> db.demo352.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e55510af8647eb59e5620ba") }
> db.demo352.insertOne({"Name":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e55510ef8647eb59e5620bb") }
> db.demo352.insertOne({"Name":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e555112f8647eb59e5620bc") }
> db.demo352.insertOne({"Name":"Mike"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e555115f8647eb59e5620bd") }
২. আপডেটের আগে ডকুমেন্টগুলো
> db.demo352.find();
আউটপুট:
৩. $set দিয়ে শুধু Name ফিল্ড আপডেট (David -> Robert)
> db.demo352.update({Name:"David"},{$set:{"Name":"Robert"}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })ব্যাখ্যা:
{Name:"David"}- ফিল্টার: Name "David" থাকা ডকুমেন্ট খুঁজে বের করে।{$set:{"Name":"Robert"}}- শুধু Name ফিল্ড "Robert" করে আপডেট। অন্যান্য ফিল্ড থাকলে অপরিবর্তিত থাকে।nModified: 1- ১টি ডকুমেন্ট পরিবর্তন হয়েছে।
৪. আপডেটের পর ডকুমেন্টগুলো
> db.demo352.find();
আউটপুট:
সেরা প্র্যাকটিস: আধুনিক MongoDB ড্রাইভারে
updateOne()(সিঙ্গল) বাupdateMany()(মাল্টিপল) ব্যবহার করুন।update()ডিপ্রিকেটেড।