$project — تشكيل المخرجات
{ $project: {
name: 1,
yearBorn: { $subtract: [2026, "$age"] },
_id: 0
} }
$unwind — تفكيك المصفوفات
يحوّل كل عنصر في مصفوفة إلى مستند منفصل:
db.orders.aggregate([
{ $unwind: "$items" },
{ $group: { _id: "$items.product", sold: { $sum: "$items.qty" } } }
])
$lookup — الربط (Join)
يربط مجموعتين (يشبه JOIN في SQL):
db.orders.aggregate([
{ $lookup: {
from: "users", // المجموعة الأخرى
localField: "userId", // الحقل هنا
foreignField: "_id", // الحقل هناك
as: "user" // اسم النتيجة
} }
])
مراحل أخرى مفيدة
$countلعدّ النتائج.$addFieldsلإضافة حقول محسوبة.$skipو$limitللترقيم.
💡 إطار التجميع قويّ جدًّا لإعداد التقارير وتحليل البيانات داخل MongoDB.
🎯 التالي: نمذجة البيانات.