$top (مُراكم الأعلى)
آخر تحديث: 2026-10-09
$top (مُراكم الأعلى)
$top مُراكم يُرجع أعلى مستند في مجموعة وفق ترتيب فرز محدد — المستند بأكمله، لا حقلًا واحدًا — متاح منذ MongoDB 5.2. يأتي الترتيب من sortBy الخاص بـ $group، لا من تسلسل الإدخال، خلافًا لـ $first. استخدم $topN للعديد.
| الفئة | التراكميات |
|---|---|
| إصدار MongoDB | 5.2+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $group: { _id: <key>, top: { $top: { sortBy: { <field>: <1 or -1> }, output: <expression> } } } }
القيمة المرجعة:المستند الأعلى في المجموعة حسب ترتيب sortBy
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $top: أعلى سعر لكل صنف عبر sortBy
db.sales.aggregate([
{ $group: { _id: '$item', top: { $top: { sortBy: { price: -1 }, output: '$price' } } } }
])
المخرجات:
{ "_id": "Pen", "top": 80 }
📌 ملاحظات
- يتطلب MongoDB 5.2 أو أحدث
- يأتي الترتيب من sortBy الخاص بـ $group، مستقلًا عن ترتيب الإدخال
- يختار output التعبير؛ احذفه لإرجاع المستند بأكمله
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qما الفرق بين $top و $first؟
Aيأخذ $top الأفضل وفق قاعدة فرز صريحة؛ بينما يتبع $first ترتيب الإدخال.
Qأي إصدار يتطلب $top؟
AMongoDB 5.2 أو أحدث.
Qهل يمكن لـ $top إرجاع المستند بأكمله؟
Aنعم، حذف output يُرجع المستند بأكمله.