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