$bitOr (أو البتات المنطقي)
آخر تحديث: 2026-10-09
$bitOr (أو البتات المنطقي)
ينفذ $bitOr عملية OR المنطقية على مستوى البت على الأعداد الصحيحة. متاح منذ MongoDB 6.3، ويقبل مصفوفة من الأعداد الصحيحة (أو رقمًا واحدًا). يُستخدم لدمج بتات الأعلام أو دمج الصلاحيات، مثل تجميع عدة بتات صلاحية في عدد صحيح واحد. أي وسيطة فارغة أو مفقودة تُنتج null؛ ويجب أن تكون العوامل من نوع int32 أو int64، بينما ترمي الأنواع الأخرى خطأً. حيث يقرأ $bitAnd البتات، يضبطها $bitOr، لذا يغطيان معًا قراءة وكتابة قناع البتات.
| الفئة | الرياضيات |
|---|---|
| إصدار MongoDB | 6.3+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $bitOr: [ <integer1>, <integer2>, ... ] }
⚙️ المعلمات
| عدد صحيح | أعداد صحيحة int32 أو int64، أو تعبيرات تُحلّ إليها؛ اثنان على الأقل. |
|---|
القيمة المرجعة:العملية OR على مستوى البت لجميع المعاملات؛ null عندما يكون null أو مفقودًا
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $bitOr: دمج بتات صلاحيات القراءة والكتابة
db.users.aggregate([
{ $project: {
combined: { $bitOr: ['$permRead', '$permWrite'] }
} }
])
المخرجات:
{ '_id': 1, 'combined': 6 }
{ '_id': 2, 'combined': 3 }
📌 ملاحظات
- يُدعم int32 و int64 فقط
- أي وسيطة فارغة أو مفقودة تجعل النتيجة null
- اجمعه مع $bitAnd لقراءة وكتابة قناع البتات بالكامل
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qكيف يختلف $bitOr عن $bitAnd؟
A$bitOr يضبط البت إلى 1 عندما يكون لدى أي عامل؛ $bitAnd يُبقيه فقط عندما يكون لدى الاثنين.
Qهل يمكن لـ $bitOr دمج الصلاحيات؟
Aنعم، طبّق OR على بتات الصلاحيات معًا لدمجها في عدد صحيح واحد.
Qماذا يُرجع $bitOr لـ null؟
Aأي وسيطة فارغة أو مفقودة تجعل النتيجة null.