$bitsAnySet (أي بتة مضبوطة)
آخر تحديث: 2026-10-09
$bitsAnySet (أي بتة مضبوطة)
يطابق $bitsAnySet المستندات التي تكون فيها بتة واحدة على الأقل من البتات في المواضع المعطاة قيمتها 1. فالعبارة `{ flags: { $bitsAnySet: 12 } }` (الثنائي 1100) تطابق المستندات التي تكون فيها البتة 2 أو البتة 3 مضبوطة. مناسب لصلاحيات "أي من". الأعداد الصحيحة وBinData فقط.
| الفئة | البتي |
|---|---|
| إصدار MongoDB | 3.2+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ <field>: { $bitsAnySet: <bitmask or position array> } }
⚙️ المعلمات
| حقل | حقل العدد الصحيح أو BinData المراد مطابقته. |
|---|---|
| قناع بتات | قناع بتات صحيح أو مصفوفة مواضع، مثل 12 أو [2, 3]. |
القيمة المرجعة:مؤشر المستندات المطابقة
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $bitsAnySet: البتة 2 أو البتة 3 مضبوطة
// 12 بالثنائي هي 1100
db.users.find({ flags: { $bitsAnySet: 12 } })
// مصفوفة المواضع
db.users.find({ flags: { $bitsAnySet: [2, 3] } })
المخرجات:
// يُرجع المستخدمين الذين تكون البتة 2 أو 3 في flags مضبوطة
📌 ملاحظات
- على خلاف $bitsAllSet، تكفي بتة مضبوطة واحدة
- جيد لفحوصات "أي صلاحية مسموحة"
- فقط int و long و BinData
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qلما يُستخدم $bitsAnySet؟
Aلفحوصات "أي علم مرفوع"، مثل المرور إذا كان المستخدم يملك أي صلاحية دور.
Qكيف أختار بين $bitsAnySet و $bitsAllSet؟
Aأي-من يستخدم AnySet؛ الكل-من يستخدم AllSet.
Qهل يمكن خلط مصفوفات المواضع وقناع البتات؟
Aإنهما متكافئان؛ اختر صيغة واحدة.