$reverseArray (عكس ترتيب المصفوفة)
آخر تحديث: 2026-10-09
$reverseArray (عكس ترتيب المصفوفة)
يعكس $reverseArray ترتيب عناصر مصفوفة ويُرجع مصفوفة جديدة. تشمل الاستخدامات النموذجية قلب السجلات المرتبة تصاعديًا إلى ترتيب تنازلي ووضع أحدث رسالة أولًا. يعكس المصفوفة الخارجية فقط؛ وتحافظ المصفوفات المتداخلة على ترتيبها الداخلي. الوسائط غير المصفوفية كانت تُسبب خطأً قبل MongoDB 5.0 وتُرجع null بعده، لذا احرس الحقول غير المؤكدة بـ $isArray.
| الفئة | المصفوفة |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $reverseArray: <array> }
⚙️ المعلمات
| مصفوفة | تعبير المصفوفة المراد عكسه. |
|---|
القيمة المرجعة:مصفوفة جديدة بترتيب معكوس؛ المعاملات غير المصفوفية تنتج null أو ترمي خطأً حسب الإصدار
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $reverseArray: أحدث رسالة أولًا
db.chats.aggregate([
{ $project: {
latestFirst: { $reverseArray: '$messages' }
} }
])
المخرجات:
{ '_id': 1, 'latestFirst': [ 'm3', 'm2', 'm1' ] }
📌 ملاحظات
- يُرجع مصفوفة جديدة؛ والحقل المصدر دون مساس
- تُعكس المصفوفة الخارجية فقط؛ وتحافظ المتداخلة على ترتيبها
- الوسائط غير المصفوفية تُرجع null منذ 5.0 لكنها كانت تُسبب خطأً قبلها؛ انتبه عند الترقية
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل يعدّل $reverseArray المصفوفة الأصلية؟
Aلا — تعبيرات التجميع نقية؛ يُرجع مصفوفة جديدة.
Qماذا عن الوسائط غير المصفوفية؟
Aتُسبب خطأً قبل 5.0 وتُرجع null منذ 5.0؛ افحص بـ $isArray أولًا.
Qهل تُعكس المصفوفات المتداخلة أيضًا؟
Aتُعكس الطبقة الخارجية فقط؛ وتحافظ المصفوفات الداخلية على ترتيبها.