$each (عناصر متعددة)
آخر تحديث: 2026-10-09
$each (عناصر متعددة)
يزوّد $each $push و $addToSet بقيم متعددة. `{ $push: { tags: { $each: ['a', 'b', 'c'] } } }`. مع $addToSet يضيف كل قيمة بعد إزالة التكرار. لا يمكنه الوقوف وحده — يجب أن يتداخل داخل $push أو $addToSet — ويتألف مع $position و $slice و $sort لصيانة متقدمة للمصفوفات.
| الفئة | معدّل التحديث |
|---|---|
| إصدار MongoDB | 1.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
📌 ملاحظات
- يتداخل داخل $push أو $addToSet فقط
- $addToSet مع $each يزيل التكرار قيمة بقيمة
- يتألف مع $position و $slice و $sort
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل يمكن استخدام $each وحده؟
Aلا، يجب كتابته داخل $push أو $addToSet.
Qكيف يزيل $addToSet مع $each التكرار؟
Aتُفحص كل قيمة على حدة؛ الموجودة منها تُتخطى، فلا تبقى تكرارات.
Qهل يمكن دمج $each مع $sort؟
Aنعم، $sort بعد $each داخل $push يرتب بعد الإلحاق.