Back

12. Aggregation Pipeline

📘 কনসেপ্ট (থিওরি)

অ্যাগ্রিগেশন (Aggregation) অপারেশনগুলো একাধিক ডকুমেন্ট প্রসেস করে এবং হিসাব করা ফলাফল রিটার্ন করে। অ্যাগ্রিগেশন পাইপলাইনে এক বা একাধিক ধাপ (stages) থাকে যা ডকুমেন্টগুলোকে প্রসেস করে। প্রতিটি ধাপ পাইপলাইনের মধ্য দিয়ে যাওয়ার সময় ডকুমেন্টগুলোকে পরিবর্তন করে (transform)। সাধারণ ধাপগুলো: - $match: ডকুমেন্ট ফিল্টার করে (find() এর মতো)। - $group: ইনপুট ডকুমেন্টগুলোকে একটি নির্দিষ্ট আইডেন্টিফায়ার দ্বারা গ্রুপ করে এবং অ্যাকুমুলেটর এক্সপ্রেশন (যেমন $sum, $avg) প্রয়োগ করে। - $sort: ডকুমেন্টগুলোকে সাজায়।

💡 উদাহরণ

অ্যাগ্রিগেশনের ব্যবহার:
// আইটেম অনুযায়ী মোট বিক্রি খুঁজুন db.sales.aggregate([ { $match: { status: "completed" } }, // ধাপ ১: ফিল্টার { $group: { _id: "$item", totalAmount: { $sum: "$amount" } } } // ধাপ ২: গ্রুপ এবং যোগফল ]);

🎯 আপনার কাজ (প্র্যাকটিস)

orders এর ওপর একটি অ্যাগ্রিগেশন পাইপলাইন লিখুন যার একটি $group স্টেজ আছে যা _id: "$customerId" দ্বারা গ্রুপ করে এবং total: { $sum: "$price" } হিসাব করে।
main.mongodb
Loading...
OUTPUT
Run your code to see the output here...