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