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

MongoDB কালেকশন থেকে অ্যারে কিভাবে বের করবেন?

MongoDB-এ নেস্টেড অ্যারে থেকে নির্দিষ্ট ফিল্ডের মানগুলো একত্রিত করে একটি ফ্ল্যাট অ্যারে বের করতে এগ্রিগেশন ফ্রেমওয়ার্ক ($unwind, $group, $push) ব্যবহার করুন।

উদাহরণ

নেস্টেড অ্যারে স্ট্রাকচার সহ ডকুমেন্ট তৈরি করুন:

> db.getArrayDemo.insertOne({
    "CustomerId": 101,
    "CustomerDetails": [
        {
            "CustomerName": "Larry",
            "CustomerFriendDetails": [
                {"CustomerFriendName": "Sam"},
                {"CustomerFriendName": "Robert"}
            ]
        },
        {
            "CustomerName": "Chris",
            "CustomerFriendDetails": [
                {"CustomerFriendName": "David"},
                {"CustomerFriendName": "Carol"}
            ]
        }
    ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda4949b50a6c6dd317adb7") }

ডকুমেন্টটি দেখুন:

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

আউটপুট:

{ "_id" : ObjectId("5cda4949b50a6c6dd317adb7"), "CustomerId" : 101, "CustomerDetails" : [ { "CustomerName" : "Larry", "CustomerFriendDetails" : [ { "CustomerFriendName" : "Sam" }, { "CustomerFriendName" : "Robert" } ] }, { "CustomerName" : "Chris", "CustomerFriendDetails" : [ { "CustomerFriendName" : "David" }, { "CustomerFriendName" : "Carol" } ] } ] }

এগ্রিগেশন পাইপলাইন ব্যবহার করে সব বন্ধুর নাম একটি অ্যারেতে আনা

> db.getArrayDemo.aggregate([
    { "$unwind": "$CustomerDetails" },
    { "$unwind": "$CustomerDetails.CustomerFriendDetails" },
    {
        "$group": {
            "_id": null,
            "CustomerFriendDetails": { "$push": "$CustomerDetails.CustomerFriendDetails.CustomerFriendName" }
        }
    }
]);

আউটপুট:

{ "_id" : null, "CustomerFriendDetails" : [ "Sam", "Robert", "David", "Carol" ] }

ব্যাখ্যা:

  1. $unwind: "$CustomerDetails" — বাহ্যিক অ্যারেটি ফ্ল্যাট করে।
  2. $unwind: "$CustomerDetails.CustomerFriendDetails" — নেস্টেড অ্যারেটি ফ্ল্যাট করে।
  3. $group সহ $push — সব CustomerFriendName একটি অ্যারেতে জমা করে।
  1. MongoDB-এ ডকুমেন্ট থেকে অ্যারে ভ্যালু ডিলিট করা

  2. MongoDB-তে distinct() ব্যবহার করে ইউনিক ভ্যালু বের করা

  3. MongoDB-তে $unset ব্যবহার করে পুরো অ্যারে ফিল্ড মুছে ফেলা

  4. MongoDB কালেকশন থেকে ডুপ্লিকেট রিমুভ করার পদ্ধতি