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