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