$bitNot (نفي البتات)

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

$bitNot (نفي البتات)

ينفذ $bitNot عملية NOT المنطقية على مستوى البت (المتممة الثنائية) على عدد صحيح واحد — وهو عامل البتات الوحيد الذي يأخذ عاملاً واحدًا. متاح منذ MongoDB 6.3، والنتيجة تساوي -x-1، لذا NOT 5 يعطي -6. يُستخدم لبناء أقنعة تكميلية والنفي العام في حسابات البتات. الوسيطة الفارغة أو المفقودة تُنتج null؛ ويجب أن يكون العامل من نوع int32 أو int64. لاحظ انقلاب الإشارة: إنها متممة ثنائية، وليست مجرد نفي للمقدار.

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

📝 الصيغة

{ $bitNot: <integer-expression> }

⚙️ المعلمات

عدد صحيحعدد صحيح int32 أو int64، أو تعبير يُحلّ إليه.

القيمة المرجعة:العملية NOT على مستوى البت للإدخال (-x-1)؛ null عندما يكون null أو مفقودًا

▶ مثال

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

// $bitNot: عكس بتات الصلاحيات لبناء قناع استبعاد
db.users.aggregate([
  { $project: {
      denied: { $bitNot: '$allowedBits' }
  } }
])

المخرجات:

{ '_id': 1, 'denied': -6 }
{ '_id': 2, 'denied': -1 }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qما قيمة $bitNot(5)؟
Aإنها -6، لأن NOT بالمتممة الثنائية تتبع -x-1.
Qلماذا ينتج $bitNot نتائج سالبة؟
ANOT بالمتممة الثنائية يقلب البت الأعلى، فيغير الإشارة.
Qأين يكون $bitNot مفيدًا؟
Aبناء أقنعة تكميلية أو التركيب مع عوامل البتات الأخرى.
Web-Tutorial.com

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

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

100%