Boolean (صحيح/خطأ)
آخر تحديث: 2026-10-09
Boolean (صحيح/خطأ)
يحمل Boolean قيمة true أو false — مثالي للأعلام والمبدلات (isActive, isDeleted). استعلم بمطابقة قيمة الحقل مباشرةً؛ لاحظ أن الحقل المفقود يختلف عن false، لذا استخدم `$exists` للتمييز. تجنب 0/1 أو سلسلتي 'yes'/'no' — فهما يولّدان خلطًا في الأنواع.
| الفئة | أنواع BSON |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ isActive: true }
db.users.find({ isActive: false })
db.users.find({ isActive: { $exists: false } })
القيمة المرجعة:القيمة المنطقية true/false؛ والاستعلامات تُرجع المستندات المطابقة
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// Boolean: تصفية حسب العلم
use shop
db.users.insertOne({ name: 'alice', isActive: true })
db.users.find({ isActive: true })
المخرجات:
{ _id: ObjectId('...'), name: 'alice', isActive: true }
📌 ملاحظات
- true/false فقط؛ لا تستبدلها بـ 0/1 أو سلاسل
- الحقل المفقود ≠ false؛ ميّز بـ $exists
- اقرن القيم المنطقية بـ $cond للتجميع الشرطي
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل يمكنني فهرسة حقل منطقي؟
Aنعم، لكن مع قيمتين فقط تكون انتقائيته منخفضة؛ فضّل فهرسًا مركّبًا مع حقول أخرى.
Qهل isActive:false مثل غياب الحقل؟
Aلا. مطابقة false تعيد مستندات قيمتها false؛ والحقول الغائبة تُطابق فقط بـ $exists:false.
Qهل يمكنني استخدام 0/1 بدلًا من قيمة منطقية؟
Aغير موصى به — خلط الأرقام والقيم المنطقية يكسر فحوص الأنواع في الاستعلامات والتجميع.