ভূমিকা
MongoDB-এ কোনো ডকুমেন্টের অ্যারে ফিল্ড থেকে নির্দিষ্ট এলিমেন্ট মুছে ফেলতে $pull অপারেটর ব্যবহার করা হয়। এটি অ্যারেতে একাধিকবার থাকা মানও মুছে ফেলতে পারে।
নমুনা কালেকশন তৈরি
removeItemFromArray কালেকশনে একটি ডকুমেন্ট ইনসার্ট করা হয়েছে, যেখানে StudentSubjects নামে একটি অ্যারে রয়েছে।
> db.removeItemFromArray.insertOne( { "_id":101, "StudentName":"Larry", "StudentSubjects":["C","MongoDB","Java","MySQL"] } );
{ "acknowledged" : true, "insertedId" : 101 }
ডকুমেন্ট প্রদর্শন
> db.removeItemFromArray.find().pretty();
আউটপুট
{ "_id" : 101, "StudentName" : "Larry", "StudentSubjects" : [ "C", "MongoDB", "Java", "MySQL" ] }
অ্যারে থেকে "Java" মুছে ফেলা
update() মেথডের সাথে $pull অপারেটর ব্যবহার করে StudentSubjects অ্যারেতে থেকে "Java" রিমুভ করা হয়েছে। multi: true অপশনটি সব মিলে যাওয়া ডকুমেন্টে প্রয়োগ করার নির্দেশ দেয়।
> db.removeItemFromArray.update( { }, { $pull: {StudentSubjects:"Java" } }, { multi: true } );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
আপডেট হওয়া ডকুমেন্ট যাচাই
> db.removeItemFromArray.find().pretty();
ফলাফল
{ "_id" : 101, "StudentName" : "Larry", "StudentSubjects" : [ "C", "MongoDB", "MySQL" ] }
টিপস: $pull অপারেটর শর্তের সাথে মিলে যাওয়া সব এলিমেন্ট অ্যারে থেকে বাদ দেয়। যদি শুধু প্রথম এলিমেন্ট মুছে ফেলতে চান তবে $pop ব্যবহার করুন।