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

MongoDB-এ $addToSet-এর বিপরীত: অ্যারে থেকে এলিমেন্ট মুছে ফেলা ($pull)


$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 ব্যবহার করুন।


  1. MongoDB-তে ট্রানজ্যাকশন লক

  2. MongoDB-তে প্রজেক্ট ফিল্ড ব্যবহার করা

  3. MongoDB-এ নেস্টেড অ্যারেতে $addToSet ব্যবহার করে মান যোগ করা

  4. MongoDB-এ $addToSet ব্যবহার করে একক ফিল্ডের ইউনিক মানগুলো বের করা