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

MongoDB-এ সূচক (index) অনুযায়ী অ্যারে উপাদান কীভাবে মুছে ফেলবেন

MongoDB-এ অ্যারের নির্দিষ্ট সূচক (index) অনুযায়ী উপাদান মুছে ফেলতে $unset এবং $pull অপারেটর দুটি একসাথে ব্যবহার করতে হয়। এই প্রক্রিয়া মূলত দুটি ধাপে সম্পন্ন হয়। সিনট্যাক্স নিচে দেওয়া হলো:

db.yourCollectionName.update({}, {$unset: {"yourArrayListName.yourPosition": yourPositionValue}});
db.yourCollectionName.update({}, {$pull: {"yourArrayListName": null}});

উপরোক্ত সিনট্যাক্স বোঝার জন্য একটি কালেকশন তৈরি করে ডকুমেন্ট ইনসার্ট করি।

> db.removeArrayElements.insertOne({"StudentName": "Larry", "StudentAge": 23, "TechnicalSubject": ["C", "C++", "Java", "MongoDB"]});
{
    "acknowledged": true,
    "insertedId": ObjectId("5c6ea4879c4643706aef56d2")
}

find() মেথড দিয়ে সব ডকুমেন্ট দেখি।

> db.removeArrayElements.find().pretty();

আউটপুট:

{
    "_id": ObjectId("5c6ea4879c4643706aef56d2"),
    "StudentName": "Larry",
    "StudentAge": 23,
    "TechnicalSubject": [
        "C",
        "C++",
        "Java",
        "MongoDB"
    ]
}

এখন ৩ নম্বর ইনডেক্সে অবস্থিত "MongoDB" এলিমেন্টটি মুছে ফেলার কোয়েরি:

> db.removeArrayElements.update({}, {$unset: {"TechnicalSubject.3": 1}});
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })
> db.removeArrayElements.update({}, {$pull: {"TechnicalSubject": null}});
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })

ফিরে ডকুমেন্টগুলো চেক করি।

> db.removeArrayElements.find().pretty();

ফলাফল:

{
    "_id": ObjectId("5c6ea4879c4643706aef56d2"),
    "StudentName": "Larry",
    "StudentAge": 23,
    "TechnicalSubject": [
        "C",
        "C++",
        "Java"
    ]
}

উপরের আউটপুটে দেখতে পাচ্ছেন, ৩ নম্বর ইনডেক্স (চতুর্থ অবস্থান) হইতে "MongoDB" উপাদানটি সফলভাবে সরিয়ে দেওয়া হয়েছে।

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

  2. MongoDB-এ সাব-প্রপার্টি হিসেবে অ্যারে এলিমেন্ট মুছে ফেলা ($pull)

  3. MongoDB-তে অ্যারে পুশ করার পদ্ধতি

  4. MongoDB-এ অ্যারে থেকে এলিমেন্ট মুছে ফেলা ($pull অপারেটর)