$each (عناصر متعددة)

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

$each (عناصر متعددة)

يزوّد $each $push و $addToSet بقيم متعددة. `{ $push: { tags: { $each: ['a', 'b', 'c'] } } }`. مع $addToSet يضيف كل قيمة بعد إزالة التكرار. لا يمكنه الوقوف وحده — يجب أن يتداخل داخل $push أو $addToSet — ويتألف مع $position و $slice و $sort لصيانة متقدمة للمصفوفات.

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

📝 الصيغة

{ $push: { <array field>: { $each: [ <value1>, <value2>, ... ] } } }

⚙️ المعلمات

حقل مصفوفةحقل المصفوفة المراد الإضافة إليه.
مصفوفة قيمقائمة العناصر المراد إضافتها.

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

▶ مثال

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

// $each: إلحاق عدة وسوم
db.articles.updateOne(
  { _id: 1 },
  { $push: { tags: { $each: ['mongodb', 'database'] } } }
)

// $addToSet مع $each يضيف بعد إزالة التكرار
db.articles.updateOne(
  { _id: 1 },
  { $addToSet: { tags: { $each: ['database', 'nosql'] } } }
)

المخرجات:

// يكتسب tags قيمتين؛ وفي التشغيل الثاني يُتخطى database وتُضاف nosql

📌 ملاحظات

📚 دروس ذات صلة

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

Qهل يمكن استخدام $each وحده؟
Aلا، يجب كتابته داخل $push أو $addToSet.
Qكيف يزيل $addToSet مع $each التكرار؟
Aتُفحص كل قيمة على حدة؛ الموجودة منها تُتخطى، فلا تبقى تكرارات.
Qهل يمكن دمج $each مع $sort؟
Aنعم، $sort بعد $each داخل $push يرتب بعد الإلحاق.
Web-Tutorial.com

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

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

100%