MongoDB-তে $unset অপারেটর ব্যবহার করে অ্যারে এলিমেন্ট থেকে অ্যাট্রিবিউট সরিয়ে ফেলা
MongoDB-তে অ্যারে অফ অবজেক্টসে নির্দিষ্ট শর্ত পূরণকারী এলিমেন্ট থেকে নির্দিষ্ট ফিল্ড (অ্যাট্রিবিউট) সরিয়ে ফেলতে $unset অপারেটর সহ পজিশনাল $ অপারেটর ব্যবহার করা হয়।
ধাপ ১: ডকুমেন্টসহ কালেকশন তৈরি করুন
> db.unsetAnAttributeDemo.insertOne(
{
_id: 1,
"StudentDetails": [
{ "StudentFirstName": "Ramit", "StudentCountryName": "UK" },
{ "StudentFirstName": "Bob", "StudentCountryName": "US" },
{ "StudentFirstName": "Carol", "StudentCountryName": "AUS" }
]
}
);
{ "acknowledged" : true, "insertedId" : 1 }
ধাপ ২: সব ডকুমেন্ট প্রদর্শন করুন
> db.unsetAnAttributeDemo.find().pretty();
আউটপুট:
{
"_id" : 1,
"StudentDetails" : [
{ "StudentFirstName" : "Ramit", "StudentCountryName" : "UK" },
{ "StudentFirstName" : "Bob", "StudentCountryName" : "US" },
{ "StudentFirstName" : "Carol", "StudentCountryName" : "AUS" }
]
}
ধাপ ৩: StudentCountryName = "AUS" olan এলিমেন্ট থেকে StudentCountryName ফিল্ড আনসেট করুন
> db.unsetAnAttributeDemo.update(
{"StudentDetails.StudentCountryName": "AUS"},
{$unset: {"StudentDetails.$.StudentCountryName": 1}}
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ধাপ ৪: যাচাই করুন অ্যাট্রিবিউট মুছে গেছে কিনা
> db.unsetAnAttributeDemo.find().pretty();
ফলাফল:
{
"_id" : 1,
"StudentDetails" : [
{ "StudentFirstName" : "Ramit", "StudentCountryName" : "UK" },
{ "StudentFirstName" : "Bob", "StudentCountryName" : "US" },
{ "StudentFirstName" : "Carol" }
]
}
ব্যাখ্যা:
{"StudentDetails.StudentCountryName": "AUS"}- কোয়েরি ফিল্টার: StudentDetails অ্যারেতে StudentCountryName = "AUS" থাকা ডকুমেন্ট খুঁজে বের করে{$unset: {"StudentDetails.$.StudentCountryName": 1}}- আপডেট অপারেশন:$পজিশনাল অপারেটর - কোয়েরি মিলে যাওয়া অ্যারে এলিমেন্টটি নির্দেশ করে$unset- নির্দিষ্ট ফিল্ডটি ডকুমেন্ট থেকে সরিয়ে ফেলে1- ফিল্ড আনসেট করার নির্দেশক (ভ্যালু কিছুই হতে পারে)
- ফলাফলে Carol-এর অবজেক্ট থেকে StudentCountryName ফিল্ডটি মুছে গেছে, বাকি দুটি অপরিবর্তিত রইল