কম্পিউটার টিউটোরিয়াল

MongoDB-এ ডেটা আপডেট করার পদ্ধতি

MongoDB-এ ডকুমেন্ট আপডেট করতে update() মেথড ব্যবহার করা হয়। দ্রষ্টব্য: নতুন ভার্সনে updateOne() এবং updateMany() ব্যবহার করা প্রস্তাবিত।

কলেকশন এবং ডকুমেন্ট তৈরি

> db.demo110.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2eeb949fd5fd66da21447b") }
> db.demo110.insertOne({"Name":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2eeb9f9fd5fd66da21447c") }
>> db.demo110.insertOne({"Name":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2eeba39fd5fd66da21447d") }

সব ডকুমেন্ট দেখানো

> db.demo110.find();

আউটপুট:

{ "_id" : ObjectId("5e2eeb949fd5fd66da21447b"), "Name" : "Chris" }
{ "_id" : ObjectId("5e2eeb9f9fd5fd66da21447c"), "Name" : "David" }
{ "_id" : ObjectId("5e2eeba39fd5fd66da21447d"), "Name" : "Bob" }

ডকুমেন্ট আপডেট করার কোয়ারী

নির্দিষ্ট _id দিয়ে ডকুমেন্ট খুঁজে Name ফিল্ড "Robert" আপডেট করা হয়েছে:

> db.demo110.update({_id:ObjectId("5e2eeb9f9fd5fd66da21447c")}, {$set:{"Name":"Robert"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

আপডেটের পর ডকুমেন্ট দেখানো

> db.demo110.find();

আউটপুট (David → Robert):

{ "_id" : ObjectId("5e2eeb949fd5fd66da21447b"), "Name" : "Chris" }
{ "_id" : ObjectId("5e2eeb9f9fd5fd66da21447c"), "Name" : "Robert" }
{ "_id" : ObjectId("5e2eeba39fd5fd66da21447d"), "Name" : "Bob" }

গুরুত্বপূর্ণ পয়েন্টসমূহ:

  • {_id: ObjectId(...)} - ইউনিক আইডেন্টিফায়ার দিয়ে সুনির্দিষ্ট ডকুমেন্ট টার্গেট করা
  • $set - শুধু নির্দিষ্ট ফিল্ড আপডেট করে, অন্যান্য ফিল্ড অপরিবর্তিত থাকে
  • WriteResult - nMatched: মিলে যাওয়া ডকুমেন্ট, nModified: আসলে পরিবর্তন হয়েছে

আধুনিক পদ্ধতি (MongoDB 3.2+):

  • db.demo110.updateOne({_id: ObjectId("...")}, {$set: {"Name": "Robert"}}) - একটি ডকুমেন্ট
  • db.demo110.updateMany({Name: "Chris"}, {$set: {"Name": "Robert"}}) - একাধিক ডকুমেন্ট
  • db.demo110.findOneAndUpdate(...) - আপডেট করে রিটার্নও করে

সতর্কতা: update() বিনা $set ব্যবহার করলে পুরো ডকুমেন্ট রিপ্লেস হয়ে যায় (শুধু _id বাদে)!

  1. MongoDB-এ updateOne এবং $push ব্যবহার করে নেস্টেড অ্যারে আপডেট করা

  2. MongoDB-এ _id দিয়ে ডকুমেন্ট আপডেট করা

  3. MongoDB টিপস: পার্ট ১ - উন্নত ডেটাবেস ব্যবস্থাপনার জন্য অপরিহার্য কৌশল

  4. MongoDB স্পেস ম্যানেজমেন্ট 습득: অ্যালোকেশন, ড্যাশবোর্ড, এবং স্কেলিং টিপস