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

MongoDB-তে অ্যারে এলিমেন্ট থেকে অ্যাট্রিবিউট আনসেট (Unset) করার পদ্ধতি


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 ফিল্ডটি মুছে গেছে, বাকি দুটি অপরিবর্তিত রইল
  1. MongoDB-তে অ্যারে থেকে এলিমেন্ট ডিলিট করা

  2. MongoDB-এ সাব-প্রপার্টি হিসেবে অ্যারে এলিমেন্ট মুছে ফেলা ($pull)

  3. MongoDB-তে রেজাল্ট অ্যারে থেকে ইনডেক্স দিয়ে একক এলিমেন্ট বের করা

  4. MongoDB-এ অ্যারে থেকে এলিমেন্ট মুছে ফেলা ($pull অপারেটর)