تجمیع ها (Aggregations)
«تجمیع (Aggregation)» یعنی تحلیل داده با چند مرحله پشت سرهم. «پایپ لاین (Pipeline)» زنجیره ای از مراحل است. هر «مرحله (Stage)» خروجی مرحله قبلی را می گیرد. ترتیب مراحل بسیار مهم است.
پایپ لاین تجمیع در MongoDB
با تجمیع می توانی گروه بندی، مرتب سازی، و محاسبه انجام دهی. اول فیلتر کن، سپس گروه بندی کن، بعد نتیجه را بخوان.
db.posts.aggregate([
{
$match: {
likes: {
$gt: 1
}
}
},
{
$group: {
_id: "$category",
totalLikes: {
$sum: "$likes"
}
}
}
])
نکته: مرحله $match بهتر است ابتدای پایپ لاین باشد. سپس $group هزینه پردازش را کاهش می دهد.
داده نمونه برای تمرین
برای تمرین از داده های نمونه Atlas استفاده کن. سپس مراحل را تست کن.
- به داشبورد Atlas برو.
- بخش Databases را باز کن.
- روی سه نقطه بزن و «Load Sample Dataset» را انتخاب کن.
بعد از بارگذاری، مراحل مختلف تجمیع را بررسی کن. سپس نتایج را مقایسه کن.
گام های پیشنهادی کار
این ترتیب معمولاً سریع تر است و حافظه کمتری می خواهد.
- با
$matchداده اضافی را حذف کن. - با
$groupمقادیر را جمع یا میانگین بگیر. - در پایان، خروجی را بررسی و تفسیر کن.
برای عملگرهای آپدیت، سر بزن به عملگرهای به روزرسانی (Update Operators). همچنین بخش تجمیع ها را برای گروه بندی ببین.
جمع بندی سریع
- تجمیع یعنی تحلیل چندمرحله ای داده.
- ترتیب مراحل بسیار مهم است.
$matchرا جلوتر اجرا کن.$groupنتایج را جمع بندی می کند.