$pullAll (إزالة كل القيم المعطاة)
آخر تحديث: 2026-10-09
$pullAll (إزالة كل القيم المعطاة)
يزيل $pullAll من مصفوفة كل عنصر يساوي أي قيمة في القائمة المعطاة. `{ $pullAll: { tags: ['spam', 'ads'] } }`. وعلى خلاف $pull، يدعم $pullAll مطابقة المساواة فقط — دون شروط — لكنه يقبل عدة قيم دفعة واحدة، بينما يدعم $pull الشروط (استخدم $in داخل $pull للقيم المتعددة).
| الفئة | تحديث المصفوفة |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $pullAll: { <array field>: [ <value1>, <value2>, ... ] } }
⚙️ المعلمات
| حقل مصفوفة | حقل المصفوفة المراد تنظيفه. |
|---|---|
| قائمة قيم | القيم المراد إزالتها؛ مطابقة التساوي فقط. |
القيمة المرجعة:نتيجة التحديث
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $pullAll: إزالة عدة وسوم دفعة واحدة
// مطابقة مساواة فقط
db.articles.updateOne(
{ _id: 1 },
{ $pullAll: { tags: ['spam', 'ads'] } }
)
المخرجات:
// يُزال كل إدخال spam وads من tags
📌 ملاحظات
- مطابقة مساواة فقط؛ دون شروط
- يقبل عدة قيم دفعة واحدة، مكمّلًا لـ $pull
- القيم غير الموجودة تُتجاهل بصمت
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qما الفرق بين $pullAll و $pull؟
Aيزيل $pullAll عدة قيم مطابقة تمامًا؛ بينما يدعم $pull الشروط واحدة تلو الأخرى (استخدم $in للعديد).
Qهل يدعم $pullAll الشروط؟
Aلا، مطابقة مساواة فقط.
Qكيف أزيل عدة قيم دفعة واحدة؟
A$pullAll: { tags: ['a', 'b'] }.