$avg (مُراكم المتوسط)
آخر تحديث: 2026-10-09
$avg (مُراكم المتوسط)
$avg مُراكم يحسب متوسط حقل عبر مجموعة في $group، أو متوسط عناصر المصفوفة في $project. يتجاهل null والقيم المفقودة، مُوسطًا الأرقام فقط. شائع في التقارير؛ التعبير المُوسط قد يكون معقدًا تعسفيًا.
| الفئة | التراكميات |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $group: { _id: <key>, avg: { $avg: "$field" } } } // أو متوسط مصفوفة في $project
القيمة المرجعة:المتوسط الرقمي (تُتجاهَل القيم null والمفقودة)
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $avg: متوسط السعر لكل صنف
db.sales.aggregate([
{ $group: { _id: '$item', avg: { $avg: '$price' } } }
])
المخرجات:
{ "_id": "Pen", "avg": 45.5 }
{ "_id": "Book", "avg": 12.0 }
📌 ملاحظات
- تُتجاهل قيم null والمفقودة وغير الرقمية
- في $project يوسط عناصر المصفوفة
- اجمعه مع $sum و $count للمتوسطات الموزونة
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مسارات التجميع المتقدمة: التعبيرات والتحويلات المعقدة
مقدمة إلى مسارات التجميع: طريقة `aggregate` والمرحلة الأساسية
$facet + $bucket + البحث النصي/الجغرافي المكاني
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qماذا يحدث عندما يصادف $avg حقلًا مفقودًا؟
Aتُتجاهل القيم المفقودة وnull؛ يُوسط فقط الأرقام الموجودة.
Qهل يمكن استخدام $avg في $project؟
Aنعم، يوسط عناصر المصفوفة، مثل { $project: { a: { $avg: '$scores' } } }.
Qكيف أحسب متوسطًا موزونًا؟
Aاجمع القيمة-في-الوزن بـ $sum واقسم على مجموع الأوزان بـ $sum.