$[] (تحديث كل عناصر المصفوفة)

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

$[] (تحديث كل عناصر المصفوفة)

$[] هو العامل الموضعي الذي يحدّث كل عنصر من عناصر المصفوفة. فالعبارة `{ $set: { 'grades.$[]': 90 } }` تعيّن كل درجة إلى 90. مقترنًا بـ arrayFilters يحدّث العناصر المطابقة فقط؛ وبدونها يحدّث الكل. $[] يخص بيانات التحديث فقط — أما الاستعلامات فتستخدم $elemMatch بدلًا منه.

الفئةمعدّل التحديث
إصدار MongoDB3.6+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ <update operator>: { '<array field>.$[]': <value> } }

⚙️ المعلمات

حقل مصفوفةحقل المصفوفة المراد تحديثه بالكامل.
قيمةالقيمة المطبَّقة على كل عنصر.

القيمة المرجعة:نتيجة التحديث

▶ مثال

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

// $[]: تعيين كل درجة إلى 90
db.students.updateOne(
  { _id: 1 },
  { $set: { 'grades.$[]': 90 } }
)

// المصفوفات المتداخلة تستخدم $[] أيضًا
// وضع علامة على كل مستوى
db.students.updateOne(
  { _id: 1 },
  { $set: { 'scores.$[].math': 100 } }
)

المخرجات:

// تصبح كل درجة 90؛ المثال الثاني يعيّن math لكل درجة إلى 100

📌 ملاحظات

📚 دروس ذات صلة

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

Qما الفرق بين $[] و $؟
Aيحدّث $ العنصر الأول المطابق؛ بينما يحدّث $[] كل العناصر.
Qهل يمكن لـ $[] العمل مع الشروط؟
Aالشروط تتطلب $[identifier] مع arrayFilters؛ بينما يحدّث $[] الكل دون شروط.
Qهل يمكن استخدام $[] في الاستعلامات؟
Aلا، يخص بيانات التحديث فقط.
Web-Tutorial.com

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

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

100%