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