$arrayToObject (تحويل مصفوفة أزواج إلى كائن)

آخر تحديث: 2026-10-09

$arrayToObject (تحويل مصفوفة أزواج إلى كائن)

يحوّل $arrayToObject مصفوفة أزواج مفتاح-قيمة إلى مستند، وهو عكس $objectToArray. يقبل المدخل شكلين: مصفوفة كائنات { k, v }، أو مصفوفة عناصر ثنائية [ 'fieldName', value ]. تشمل الاستخدامات النموذجية إعادة تجميع الحقول الديناميكية بعد معالجة $objectToArray أو تعبئة إحصاءات مجمعة في كائن. يجب أن تكون المفاتيح سلاسل؛ والمفاتيح المكررة تُستبدل بالقيمة الأحدث.

الفئةالمصفوفة
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ $arrayToObject: <array> }

⚙️ المعلمات

مصفوفةمصفوفة من كائنات { k, v } أو من مصفوفات بعنصرين [ 'fieldName', value ].

القيمة المرجعة:المستند الناتج؛ null للمصفوفة الفارغة أو التي تحتوي على null

▶ مثال

نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):

// $arrayToObject: تحويل مصفوفة k/v إلى كائن
db.users.aggregate([
  { $project: {
      scoreObj: { $arrayToObject: '$scorePairs' }
  } }
])

المخرجات:

{ '_id': 1, 'scoreObj': { 'math': 90, 'eng': 85 } }

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

❓ الأسئلة الشائعة

Qما صيغتا الإدخال؟
Aمصفوفة كائنات { k, v }، أو مصفوفة أزواج [ 'fieldName', value ].
Qماذا يحدث عندما لا يكون k سلسلة؟
Aيُسبب خطأً — يجب أن تكون المفاتيح سلاسل.
Qكيف تُعالج المفاتيح المكررة؟
Aالقيمة الأحدث تستبدل الأقدم.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%