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

MongoDB-এ ডট নোটেশন ব্যবহার করে অ্যারে গ্রুপ করা


অবজেক্ট অ্যারে গ্রুপ করা ডট নোটেশন দিয়ে

MongoDB-এ নেস্টেড অ্যারেতে থাকা ফিল্ড অনুযায়ী গ্রুপ করতে ডট নোটেশন (details.Name) ব্যবহার করা হয়।

নমুনা ডেটা তৈরি

> db.demo430.insertOne({
    "details": [
        { "Name": "Chris" },
        { "Name": "David" },
        { "Name": "Adam" },
        { "Name": "Bob" }
    ]
})

সমস্ত ডকুমেন্ট দেখানো

> db.demo430.find()

আউটপুট:

{ "_id": ObjectId("..."), "details": [{ "Name": "Chris" }, { "Name": "David" }, { "Name": "Adam" }, { "Name": "Bob" }] }

গ্রুপ করার কোয়েরি

> db.demo430.aggregate([{ "$group": { "_id": { "Name": "$details.Name" } }}])

ফলাফল:

{ "_id": { "Name": ["Chris", "David", "Adam", "Bob"] } }

ব্যাখ্যা

  • $details.Name: ডট নোটেশন ব্যবহার করে অ্যারেতে থাকা প্রতিটি অবজেক্টের Name ফিল্ড অ্যাক্সেস করা হয়েছে
  • MongoDB স্বয়ংক্রিয়ভাবে অ্যারের সব এলিমেন্টের নাম সংগ্রহ করে একটি অ্যারে বানায়
  • _id ফিল্ডে একটি অবজেক্ট রিটার্ন হয় যাতে Name কীতে সব নামের অ্যারে থাকে

এটি নেস্টেড অ্যারে ডেটা থেকে দ্রুত ইউনিক মান বা গ্রুপিং পাওয়ার সহজ পদ্ধতি।

  1. MongoDB-তে $elemMatch ব্যবহার করে অ্যারে ভ্যালু অনুযায়ী ডকুমেন্ট ফিল্টার করা

  2. MongoDB-এ নির্দিষ্ট প্রাইস থেকে কম প্রাইস والے রেকর্ড খুঁজে বের করা

  3. MongoDB-এ অ্যারে কোয়েরি করে নির্দিষ্ট ভ্যালু ফেচ করা

  4. MySQL-এ GROUP BY ও COUNT একসাথে ব্যবহার করে ডুপ্লিকেট গ্রুপ করেই ম্যাক্স মান বের করা