$and (العامل المنطقي AND)
آخر تحديث: 2026-10-09
$and (العامل المنطقي AND)
يجمع $and عدة مسندات استعلام؛ ويجب أن يحقق المستند جميعها. `{ $and: [ { price: { $gt: 10 } }, { inStock: true } ] }`. إن وجود عدة حقول في مستند استعلام واحد يعني ضمنًا AND؛ و$and يجعل المنطق صريحًا وهو مطلوب لعدة شروط على الحقل نفسه.
| الفئة | المنطقي |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $and: [ { <condition1> }, { <condition2> }, ... ] }
⚙️ المعلمات
| مصفوفة شروط | مصفوفة من شروط الاستعلام؛ يجب أن تتحقق جميعها. |
|---|
القيمة المرجعة:مؤشر المستندات المطابقة
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $and: السعر أكبر من 10 وinStock يساوي true
db.products.find({
$and: [
{ price: { $gt: 10 } },
{ inStock: true }
]
})
المخرجات:
// يُرجع المنتجات التي تحقق الشرطين معًا (AND الضمني يعطي النتيجة نفسها)
📌 ملاحظات
- عدة مسندات حقول تعني ضمنًا AND؛ استخدم $and فقط عند الحاجة
- الشروط المتعددة على الحقل نفسه تتطلب $and
- أي شرط فاشل يستبعد المستند؛ الترتيب غير مهم
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
أنواع الفهارس والميزات المتقدمة
أساسيات الاستعلام عن المستندات: طريقة `find` وعمليات الإسقاط
مشغلات الاستعلام: دليل شامل لأكثر من 30 مشغلًا
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qما الفرق بين $and وكتابة عدة حقول؟
Aمكافئ وظيفيًا؛ $and مخصص للشروط المتعددة على حقل واحد أو لبنية منطقية أوضح.
Qهل يمكنني كتابة $gt مرتين على الحقل نفسه؟
Aمباشرةً يحدث تعارض (المفاتيح فريدة)؛ استخدم $and: { $and: [ { score: { $gt: 60 } }, { score: { $gt: 90 } } ] }.
Qهل يمكن للشروط داخل $and أن تحتوي $or؟
Aنعم. يمكن أن يكون كل عنصر في $and أي مسند، بما في ذلك $or و $nor.