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

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

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

يحوّل $objectToArray مستندًا إلى مصفوفة أزواج مفتاح-قيمة، كل عنصر بصيغة { k: 'fieldName', v: 'fieldValue' }. يتألق عندما تكون أسماء الحقول ديناميكية (مثل أبعاد الدرجات لكل مستخدم) بتمكين $map/$filter من معالجة كل حقل بشكل موحد، كما أنه مفيد لتسطيح المستندات الفرعية قبل التجميع. يجب أن تكون الوسيطة مستندًا عاديًا — والمصفوفة تُسبب خطأً. اقرنه بـ $arrayToObject للتحويل ذهابًا وإيابًا.

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

📝 الصيغة

{ $objectToArray: <object> }

⚙️ المعلمات

كائنتعبير المستند (كائن BSON) المراد تحويله.

القيمة المرجعة:مصفوفة من أزواج المفتاح والقيمة بالشكل { k: 'fieldName', v: 'value' }؛ null عندما يكون المعامل null

▶ مثال

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

// $objectToArray: تحويل مستند الدرجات الفرعي إلى مصفوفة
db.users.aggregate([
  { $project: {
      scores: { $objectToArray: '$scores' }
  } }
])

المخرجات:

{ '_id': 1, 'scores': [ { 'k': 'math', 'v': 90 }, { 'k': 'eng', 'v': 85 } ] }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qكيف أتعامل مع أسماء الحقول الديناميكية بشكل موحد؟
Aحوّل بـ $objectToArray أولًا، عالج بـ $map/$filter، ثم حوّل عائدًا بـ $arrayToObject.
Qهل يمكنه تحويل مصفوفة؟
Aلا، يجب أن تكون الوسيطة مستندًا؛ والمصفوفات تُسبب خطأً.
Qهل يُحافظ على ترتيب الحقول؟
Aنعم، يُحافظ على ترتيب الإدراج.
Web-Tutorial.com

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

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

100%