$pull অপারেটর ব্যবহার করে অ্যারে থেকে নির্দিষ্ট ভ্যালু রিমুভ করা
$addToSet অ্যারে-এ ডুপ্লিকেট ছাড়া ভ্যালু যোগ করে। এর বিপরীত কাজ — অর্থাৎ অ্যারে থেকে নির্দিষ্ট ভ্যালু মুছে ফেলার জন্য $pull অপারেটর ব্যবহার করা হয়।
সিনট্যাক্স
db.collection.update(
{ query },
{ $pull: { "arrayField": "valueToRemove" } }
);
উদাহরণ
> db.oppositeAddToSetDemo.insertOne({"StudentName":"John","StudentHobby":["Cricket","Cooking","Drawing"]});
> db.oppositeAddToSetDemo.insertOne({"StudentName":"Carol","StudentHobby":["Cricket","Dance","Hiking"]});
> db.oppositeAddToSetDemo.insertOne({"StudentName":"David","StudentHobby":["Learning","Photography"]});
John-এর Hobby থেকে "Cooking" মুছে ফেলা
> db.oppositeAddToSetDemo.update(
{ "StudentName": "John" },
{ $pull: { "StudentHobby": "Cooking" } }
);
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })
ফলাফল:
{
"_id" : ObjectId("5c8eddcc2f684a30fbdfd588"),
"StudentName" : "John",
"StudentHobby" : [ "Cricket", "Drawing" ]
}
{
"_id" : ObjectId("5c8eddfd2f684a30fbdfd589"),
"StudentName" : "Carol",
"StudentHobby" : [ "Cricket", "Dance", "Hiking" ]
}
{
"_id" : ObjectId("5c8ede272f684a30fbdfd58a"),
"StudentName" : "David",
"StudentHobby" : [ "Learning", "Photography" ]
}
নোট: $pull ম্যাচ করা সব অকার런্স মুছে ফেলে। শুধু প্রথম বা শেষটি মুছে ফেলতে $pop ব্যবহার করুন।