MongoDB

MongoDB — تجمیع ها (Aggregations)

آخرین بروزرسانی: 1404/08/20

تجمیع ها (Aggregations)

«تجمیع (Aggregation)» یعنی تحلیل داده با چند مرحله پشت سرهم. «پایپ لاین (Pipeline)» زنجیره ای از مراحل است. هر «مرحله (Stage)» خروجی مرحله قبلی را می گیرد. ترتیب مراحل بسیار مهم است.

پایپ لاین تجمیع در MongoDB

با تجمیع می توانی گروه بندی، مرتب سازی، و محاسبه انجام دهی. اول فیلتر کن، سپس گروه بندی کن، بعد نتیجه را بخوان.

db.posts.aggregate([
  {
    $match: {
      likes: {
        $gt: 1
      }
    }
  },
  {
    $group: {
      _id: "$category",
      totalLikes: {
        $sum: "$likes"
      }
    }
  }
])

مشاهده در ادیتور

نکته: مرحله $match بهتر است ابتدای پایپ لاین باشد. سپس $group هزینه پردازش را کاهش می دهد.

داده نمونه برای تمرین

برای تمرین از داده های نمونه Atlas استفاده کن. سپس مراحل را تست کن.

  1. به داشبورد Atlas برو.
  2. بخش Databases را باز کن.
  3. روی سه نقطه بزن و «Load Sample Dataset» را انتخاب کن.

بعد از بارگذاری، مراحل مختلف تجمیع را بررسی کن. سپس نتایج را مقایسه کن.

گام های پیشنهادی کار

این ترتیب معمولاً سریع تر است و حافظه کمتری می خواهد.

  1. با $match داده اضافی را حذف کن.
  2. با $group مقادیر را جمع یا میانگین بگیر.
  3. در پایان، خروجی را بررسی و تفسیر کن.

برای عملگرهای آپدیت، سر بزن به عملگرهای به روزرسانی (Update Operators). همچنین بخش تجمیع ها را برای گروه بندی ببین.

جمع بندی سریع

  • تجمیع یعنی تحلیل چندمرحله ای داده.
  • ترتیب مراحل بسیار مهم است.
  • $match را جلوتر اجرا کن.
  • $group نتایج را جمع بندی می کند.