$all (يحتوي على الكل)

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

$all (يحتوي على الكل)

يطابق $all المستندات التي يحتوي حقل مصفوفتها على كل عنصر من المصفوفة المعطاة. فالعبارة `{ tags: { $all: ['mongodb', 'database'] } }` تتطلب أن تتضمن tags القيمتين معًا، بأي ترتيب. وعلى خلاف $in (أي مطابقة)، يتطلب $all كل القيم — مثالي لتصفية الوسوم الإلزامية.

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

📝 الصيغة

{ <field>: { $all: [ <value1>, <value2>, ... ] } }

⚙️ المعلمات

حقلحقل المصفوفة المراد مطابقته.
مصفوفة قيمقائمة القيم التي يجب أن تكون جميعها موجودة.

القيمة المرجعة:مؤشر المستندات المطابقة

▶ مثال

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

// $all: تتضمن tags كلمتي mongodb و database
db.articles.find({ tags: { $all: ['mongodb', 'database'] } })

// $in للمقارنة: يطابق أيًا من الوسمين
db.articles.find({ tags: { $in: ['mongodb', 'database'] } })

المخرجات:

// الاستعلام الأول يتطلب الوسمين معًا؛ والثاني يطابق أيًا منهما

📌 ملاحظات

📚 دروس ذات صلة

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

Qما الفرق بين $all و $in؟
Aيطابق $in إذا ظهرت أي قيمة؛ بينما يتطلب $all وجود كل قيمة مدرجة.
Qهل يعمل $all على الحقول غير المصفوفية؟
Aعلى الحقول غير المصفوفية يتصرف $all مثل $eq (مقارنة قيمة مفردة).
Qماذا يحدث مع مصفوفة $all فارغة؟
A$all: [] يطابق كل المستندات، بما في ذلك المستندات التي يفتقد حقلها.
Web-Tutorial.com

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

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

100%