MongoDB-এ রেকর্ড আপডেট করা: update() / updateOne()
MongoDB-এ একটি নির্দিষ্ট ডকুমেন্ট আপডেট করতে _id বা অন্য یونিক ফিল্ড দিয়ে ফিল্টার করে $set অপারেটর ব্যবহার করা হয়।
নমুনা ডেটা তৈরি
> db.demo458.insertOne({ _id: 101, "Name": "David" })
> db.demo458.insertOne({ _id: 102, "Name": "Chris" })
> db.demo458.insertOne({ _id: 103, "Name": "Bob" })
সমস্ত ডকুমেন্ট দেখানো
> db.demo458.find()
আউটপুট:
{ "_id": 101, "Name": "David" }
{ "_id": 102, "Name": "Chris" }
{ "_id": 103, "Name": "Bob" }
রেকর্ড আপডেট করার কোয়েরি
> db.demo458.update({ _id: 102 }, { $set: { "Name": "David Miller" } })
ফলাফল:
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })
আপডেট後の ডকুমেন্ট
> db.demo458.find()
আউটপুট:
{ "_id": 101, "Name": "David" }
{ "_id": 102, "Name": "David Miller" }
{ "_id": 103, "Name": "Bob" }
ব্যাখ্যা ও সেরা অনুশীলন
_idদিয়ে ফিল্টার করা সবচেয়ে দ্রুত এবং নিরাপদ$set: শুধু নির্দিষ্ট ফিল্ড আপডেট করে, বাকি ফিল্ড অপরিবর্তিত থাকে- নোট:
update()ডিপ্রিকেটেড। নতুন অ্যাপ্লিকেশনেupdateOne()(একটি ডকুমেন্ট) বাupdateMany()(একাধিক) ব্যবহার করুন upsert: trueদিয়ে না থাকলে নতুন ডকুমেন্ট তৈরি করা যায়