$bitAnd (و البتات المنطقي)

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

$bitAnd (و البتات المنطقي)

ينفذ $bitAnd عملية AND المنطقية على مستوى البت على الأعداد الصحيحة. متاح منذ MongoDB 6.3، ويقبل مصفوفة من الأعداد الصحيحة (أو رقمًا واحدًا). يُستخدم لفحوصات بتات الصلاحيات وتصفية الأعلام وحسابات أقنعة الشبكات الفرعية، مثل اختبار ما إذا كان عدد صلاحيات يحتوي بتًا معينًا. الوسيطة الفارغة أو المفقودة تُنتج null؛ ويجب أن تكون العوامل من نوع int32 أو int64، بينما ترمي double و Decimal والأنواع الأخرى خطأً. وهو ينتمي إلى عائلة العمليات البتية مع $bitOr و $bitXor و $bitNot.

الفئةالرياضيات
إصدار MongoDB6.3+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ $bitAnd: [ <integer1>, <integer2>, ... ] }

⚙️ المعلمات

عدد صحيحأعداد صحيحة int32 أو int64، أو تعبيرات تُحلّ إليها؛ اثنان على الأقل.

القيمة المرجعة:العملية AND على مستوى البت لجميع المعاملات؛ null عندما يكون null أو مفقودًا

▶ مثال

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

// $bitAnd: التحقق مما إذا كان بت الصلاحية 4 مضبوطًا
db.users.aggregate([
  { $project: {
      hasWrite: { $ne: [{ $bitAnd: ['$permissions', 4] }, 0] }
  } }
])

المخرجات:

{ '_id': 1, 'hasWrite': true }
{ '_id': 2, 'hasWrite': false }

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

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

Qهل يدعم $bitAnd الأرقام ذات الفاصلة العائمة؟
Aلا — int32 و int64 فقط؛ الإدخال ذو الفاصلة العائمة يرمي خطأً.
Qكيف أتحقق مما إذا كان بت صلاحية مفعّلًا؟
Aطبّق AND على القيمة مع البت المستهدف؛ النتيجة غير الصفرية تعني أن البت مضبوط.
Qمنذ أي إصدار أصبح $bitAnd متاحًا؟
Aمتاح منذ MongoDB 6.3.
Web-Tutorial.com

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

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

100%