নেস্টেড অবজেক্ট থেকে ফিল্ড সরানো: $unset
MongoDB-এ একটি ডকুমেন্টের নেস্টেড অবজেক্ট থেকে নির্দিষ্ট ফিল্ড সরিয়ে ফেলতে $unset অপারেটর ব্যবহার করা হয়।
নমুনা ডেটা তৈরি
> db.demo467.insertOne({ _id: 101, "Information": { "Name": "Chris" } })
> db.demo467.insertOne({ _id: 102, "Information": { "Name": "David" } })
সমস্ত ডকুমেন্ট দেখানো
> db.demo467.find()
আউটপুট:
{ "_id": 101, "Information": { "Name": "Chris" } }
{ "_id": 102, "Information": { "Name": "David" } }
নেস্টেড ফিল্ড ডিলিট করার কোয়েরি
> db.demo467.update(
{ _id: 102 },
{ $unset: { "Information.Name": 1 } },
{ multi: true }
)
ফলাফল:
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })
আপডেট後の ডকুমেন্ট
> db.demo467.find()
আউটপুট:
{ "_id": 101, "Information": { "Name": "Chris" } }
{ "_id": 102, "Information": { } }
ব্যাখ্যা
$unset: { "Information.Name": 1 }: ডট নোটেশন দিয়ে নেস্টেড ফিল্ড নির্দিষ্ট করে, মান1(যেকোনো ট্রুثি ভ্যালু) দিয়ে- ফিল্ডটি সম্পূর্ণরূপে ডকুমেন্ট থেকে মুছে যায় (নাল সেট করছে না, ডিলিট করছে)
{ multi: true }: একাধিক ডকুমেন্টে প্রয়োগের জন্য (এখানে শুধু একটিই মэтচ করেছে)- নোট:
update()ডিপ্রিকেটেড,updateOne()/updateMany()ব্যবহার করুন
এই পদ্ধতিতে আপনি যেকোনো গভীর নেস্টেড ফিল্ড ডিলিট করতে পারেন।