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

MongoDB-এ অ্যারে অফ ডকুমেন্ট গ্রুপ করে একই Age মান কাউন্ট করা

MongoDB-এ একটি ডকুমেন্টের ভেতরের অ্যারে (array of documents) কে $unwind দিয়ে ফ্ল্যাটেন করে, তারপর $group দিয়ে নির্দিষ্ট ফিল্ড (যেমন Age) অনুযায়ী গ্রুপ করে কাউন্ট করা হয়।

উদাহরণ: কালেকশন ও ডেটা তৈরি

> db.demo559.insertOne({
    details: [
      { Name: "Chris", Age: 21 },
      { Name: "Bob", Age: 22 },
      { Name: "Carol", Age: 21 },
      { Name: "Sam", Age: 21 }
    ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f38d954b4472ed3e8e866") }

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

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

আউটপুট:

{
    "_id" : ObjectId("5e8f38d954b4472ed3e8e866"),
    "details" : [
      { "Name" : "Chris", "Age" : 21 },
      { "Name" : "Bob", "Age" : 22 },
      { "Name" : "Carol", "Age" : 21 },
      { "Name" : "Sam", "Age" : 21 }
    ]
}

Aggregation কোয়েরি: Age অনুযায়ী গ্রুপ করে কাউন্ট

> db.demo559.aggregate([
    { $unwind: "$details" },
    { $group: {
        _id: "$details.Age",
        Count: { $sum: 1 }
    }},
    { $sort: { "_id": 1 } }
])

কোয়েরির ব্যাখ্যা

  1. $unwind: "$details" — details অ্যারেতে থাকা ৪টি সাবডকুমেন্টকে ৪টি আলাদা ডকুমেন্টে রূপান্তর করে।
  2. $group — details.Age অনুযায়ী গ্রুপ করে (_id: "$details.Age") এবং $sum: 1 দিয়ে প্রতিটি এজ গ্রুপের কাউন্ট (Count) বের করে।
  3. $sort: { "_id": 1 } — এজ অনুযায়ী অ্যাসেন্ডিং সর্ট।

আউটপুট

{ "_id" : 21, "Count" : 3 }
{ "_id" : 22, "Count" : 1 }

Age ২১: ৩ জন (Chris, Carol, Sam), Age ২২: ১ জন (Bob)।

মূল পয়েন্টসমূহ

  • $unwind অ্যারে অফ ডকুমেন্ট প্রসেস করার প্রথম ধাপ।
  • $group এ _id হিসেবে গ্রুপিং ফিল্ড (এখানে $details.Age) নির্দিষ্ট করুন।
  • $sum: 1 কাউন্ট করার সার্বিক প্যাটার্ন।
  • একাধিক ডকুমেন্ট থাকলে $unwind সব ডকুমেন্টের অ্যারে ফ্ল্যাটেন করবে; গ্রুপিং সব মিলিয়ে হবে।
  1. MySQL-এ COUNT() এবং GROUP BY ব্যবহার করে সবচেয়ে বেশি বার পুনরাবৃত্ত হওয়া মান খুঁজে বের করা

  2. MySQL-এ GROUP BY COUNT(*) ব্যবহার করে একক কলামে ডুপ্লিকেট মানların ঘনত্ব বের করা

  3. MySQL-এ GROUP BY এবং ORDER BY দিয়ে কলামে পুনরাবৃত্ত মানগুলোর গণনা

  4. C#-তে Enum-এর কনস্ট্যান্ট মানগুলোর অ্যারে পাওয়ার পদ্ধতি (GetEnumValues)