$exists (وجود الحقل)

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

$exists (وجود الحقل)

يقوم $exists بتصفية المستندات بناءً على وجود حقل. فالعبارة `{ $exists: true }` تطابق المستندات التي يوجد فيها الحقل وقيمته ليست null؛ بينما `{ $exists: false }` تطابق المستندات التي يكون الحقل فيها مفقودًا. وهو الأداة الأساسية لمشاكل الحقول المفقودة، ويُزاوج مع $ne/$gt اللذين يتجاهلان الحقول المفقودة بخلاف ذلك.

الفئةالعنصر والتقييم
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ <field>: { $exists: <boolean> } }

⚙️ المعلمات

حقلحقل المستند المراد اختبار وجوده.
boolean‏true يطابق الحقول الموجودة، وfalse يطابق الحقول المفقودة.

القيمة المرجعة:مؤشر المستندات المطابقة

▶ مثال

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

// $exists: المستخدمون الذين لديهم بريد إلكتروني
// يجب أن يوجد الحقل وألا يكون null
db.users.find({ email: { $exists: true } })

// المستخدمون بدون حقل بريد إلكتروني
db.users.find({ email: { $exists: false } })

المخرجات:

// الأول يُرجع المستخدمين الذين لديهم حقل بريد إلكتروني؛ والثاني يُرجع من لا يملكونه

📌 ملاحظات

📚 دروس ذات صلة

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

Qهل يطابق $exists: true قيم null؟
Aلا. حقل موجود بقيمة null يفشل في $exists: true؛ استخدم $type: 10 أو $eq: null بدلًا من ذلك.
Qكيف يعمل $exists مع $ne معًا؟
A{ $ne: value, $exists: true } تعني "الحقل موجود ويختلف" — وتمنع $ne من تخطي الحقول المفقودة.
Qكيف أتحقق من وجود حقل من نوع مصفوفة؟
Aبنفس النمط: { $exists: true }؛ المصفوفة الفارغة ما زالت تُحتسب موجودة.
Web-Tutorial.com

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

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

100%