دوره‌ها / MongoDB / Advanced Aggregation (Advanced Aggregation)

Advanced Aggregation (Advanced Aggregation)

15 دقیقه Article

Advanced Aggregation: Aggregation پیشرفته 🚀

Advanced Aggregation شامل stages پیچیده‌تر برای پردازش داده‌های پیچیده و تحلیل است.

$facet - چند Pipeline موازی:

// اجرای چند pipeline به صورت موازی
db.products.aggregate([
  {{
    $facet: {{
      "byCategory": [
        {{ $group: {{ _id: "$category", count: {{ $sum: 1 }} }} }},
        {{ $sort: {{ count: -1 }} }}
      ],
      "byPrice": [
        {{ $group: {{ _id: null, avgPrice: {{ $avg: "$price" }}, maxPrice: {{ $max: "$price" }}, minPrice: {{ $min: "$price" }} }} }}
      ],
      "topProducts": [
        {{ $sort: {{ price: -1 }} }},
        {{ $limit: 5 }}
      ]
    }}
  }}
])

$bucket - تقسیم به دسته‌ها:

// تقسیم products بر اساس price
db.products.aggregate([
  {{
    $bucket: {{
      groupBy: "$price",
      boundaries: [0, 100, 500, 1000, 5000],
      default: "expensive",
      output: {{
        count: {{ $sum: 1 }},
        products: {{ $push: "$name" }}
      }}
    }}
  }}
])

$graphLookup - جستجوی گراف:

// پیدا کردن تمام زیرمجموعه‌ها
db.employees.aggregate([
  {{
    $graphLookup: {{
      from: "employees",
      startWith: "$managerId",
      connectFromField: "managerId",
      connectToField: "_id",
      as: "hierarchy"
    }}
  }}
])
💡 نکته: Advanced Aggregation stages برای تحلیل داده‌های پیچیده، گزارش‌گیری و data science بسیار قدرتمند هستند.
✅ یاد گرفتید: Advanced Aggregation stages برای پردازش پیچیده داده‌ها، تحلیل و گزارش‌گیری استفاده می‌شوند!

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.

برای ذخیره پیشرفت وارد شوید