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

MongoDB-এ অ্যারে থেকে আইটেম রিমুভ করার পদ্ধতি

MongoDB-এ অ্যারে থেকে নির্দিষ্ট মান রিমুভ করতে $pull অপারেটর ব্যবহার করা হয়। এটি অ্যারেতে মেলে যাওয়া সব মিলে যাওয়া এলিমেন্ট রিমুভ করে।

কলেকশন এবং ডকুমেন্ট তৈরি

> db.demo224.insertOne({"ListOfTechnology":["Spring","Hibernate","Java"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3ee6d103d395bdc2134733") }
> db.demo224.insertOne({"ListOfTechnology":["Groovy"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3ee6ec03d395bdc2134734") }

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

> db.demo224.find();

আউটপুট:

{ "_id" : ObjectId("5e3ee6d103d395bdc2134733"), "ListOfTechnology" : [ "Spring", "Hibernate", "Java" ] }
{ "_id" : ObjectId("5e3ee6ec03d395bdc2134734"), "ListOfTechnology" : [ "Groovy" ] }

অ্যারে থেকে আইটেম রিমুভ করার কোয়ারী

নির্দিষ্ট _id দিয়ে ডকুমেন্ট টার্গেট করে ListOfTechnology অ্যারেতে "Java" রিমুভ করা হয়েছে:

> db.demo224.update({_id:ObjectId("5e3ee6d103d395bdc2134733")}, {$pull: {"ListOfTechnology": "Java"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo224.find();

আউটপুট (Java রিমুভ হয়েছে):

{ "_id" : ObjectId("5e3ee6d103d395bdc2134733"), "ListOfTechnology" : [ "Spring", "Hibernate" ] }
{ "_id" : ObjectId("5e3ee6ec03d395bdc2134734"), "ListOfTechnology" : [ "Groovy" ] }

গুরুত্বপূর্ণ পয়েন্টসমূহ:

  • $pull - শর্ত মেলে সব এলিমেন্ট রিমুভ করে (যদি ডুপ্লিকেট থাকে)
  • $pullAll - একাধিক নির্দিষ্ট মান রিমুভ করতে: {$pullAll: {ListOfTechnology: ["Java", "Spring"]}}
  • $pull with condition - অবজেক্ট অ্যারেতে: {$pull: {Details: {Score: {$lt: 50}}}}

আধুনিক পদ্ধতি (MongoDB 3.2+):

  • db.demo224.updateOne({_id: ...}, {$pull: {"ListOfTechnology": "Java"}}) - একটি ডকুমেন্ট
  • db.demo224.updateMany({}, {$pull: {"ListOfTechnology": "Java"}}) - সব ডকুমেন্ট থেকে

পজিশনাল রিমুভ (শুধু প্রথম মিল): MongoDB-এ সরাসরি পজিশনাল রিমুভ নেই। workaround: $unset দিয়ে null করুন তারপর $pull: {array: null}।

সতর্কতা: $pull অ্যারে রি-ইন্ডেক্স করে (gap থাকবে না)।

  1. MongoDB কলেকশন থেকে অ্যারে এলিমেন্ট মুছে ফেলা

  2. MongoDB-তে অ্যারে থেকে এলিমেন্ট ডিলিট করা

  3. MongoDB-এ পজিশনাল অপারেটর ($) ব্যবহার করে অ্যারে-র সাব-আইটেম আপডেট করা

  4. MongoDB-এ অ্যারেতে এলিমেন্ট পুশ করার পদ্ধতি