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

MongoDB-এ ফিল্ড খুঁজে সেটি ডিলিট করা ($exists ও $unset)

MongoDB-এ কোনো ফিল্ড আছে কিনা চেক করতে $exists অপারেটর এবং সেই ফিল্ড ডিলিট করতে $unset অপারেটর ব্যবহার করা হয়। $unset ফিল্ডটি সম্পূর্ণরূপে ডকুমেন্ট থেকে সরিয়ে দেয় (মান খালি করবে না, ফিল্ডই মুছে যাবে)।

উদাহরণ: কালেকশন ও ডেটা তৈরি

> db.demo562.insertOne({"Name":"Chris","Age":21});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f4ae854b4472ed3e8e872") }
> db.demo562.insertOne({"Age":20});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f4ae954b4472ed3e8e873") }
> db.demo562.insertOne({"Name":"David","Age":23});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f4aea54b4472ed3e8e874") }

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

> db.demo562.find();

আউটপুট:

{ "_id" : ObjectId("5e8f4ae854b4472ed3e8e872"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5e8f4ae954b4472ed3e8e873"), "Age" : 20 }
{ "_id" : ObjectId("5e8f4aea54b4472ed3e8e874"), "Name" : "David", "Age" : 23 }

Name ফিল্ড আছে এমন ডকুমেন্ট থেকে Name ডিলিট করা

> db.demo562.update(
    { Name: { $exists: true } },
    { $unset: { "Name": "" } },
    { multi: true }
);
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

কোয়েরির ব্যাখ্যা

  • { Name: { $exists: true } } — যেসব ডকুমেন্টে Name ফিল্ড আছে (দ্বিতীয় ডকুমেন্টে নেই)।
  • { $unset: { "Name": "" } } — Name ফিল্ডটি ডিলিট করে। মান ("") ইগনোর হয়।
  • { multi: true } — সব মিলে যাওয়া ডকুমেন্ট আপডেট করে (পুরানো সিনট্যাক্স; আধুনিক MongoDB-এ updateMany() ব্যবহার করুন)।

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

> db.demo562.find();

আউটপুট (সব ডকুমেন্ট থেকে Name মুছে গেছে):

{ "_id" : ObjectId("5e8f4b6654b4472ed3e8e875"), "Age" : 21 }
{ "_id" : ObjectId("5e8f4b6754b4472ed3e8e876"), "Age" : 20 }
{ "_id" : ObjectId("5e8f4b6854b4472ed3e8e877"), "Age" : 23 }

মূল পয়েন্টসমূহ

  • $exists: true — ফিল্ডটি ডকুমেন্টে আছে (null হলেও আছে মाना হয়)।
  • $exists: false — ফিল্ডটি অনুপস্থিত।
  • $unset ফিল্ড সম্পূর্ণরূপে মুছে দেয়; $set: { field: null } ফিল্ড রেখে মান null করবে।
  • আধুনিক সিনট্যাক্স: db.collection.updateMany({ Name: { $exists: true } }, { $unset: { Name: "" } })।
  • multi: true ডিপ্রিকেটেড (deprecated); updateMany() ব্যবহার করুন।
  1. MongoDB-এ নির্দিষ্ট ফিল্ড দিয়ে সার্চ করা

  2. MongoDB-তে aggregate() এবং $group ব্যবহার করে ফিল্ড কাউন্ট অনুযায়ী গ্রুপিং

  3. MongoDB-এ বড় কালেকশনে স্লো সার্চ ঠিক করতে ইন্ডেক্স তৈরি করা

  4. YouTube ইতিহাস ও সার্চ এক্টিভিটি মুছুন: ধাপে ধাপে গাইড