$ne (عدم المساواة)

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

$ne (عدم المساواة)

يقوم $ne باختيار المستندات التي لا تساوي قيمة حقلها قيمة محددة — وهو نفي $eq. فالعبارة `{ age: { $ne: 18 } }` تطابق كل المستندات التي لا يكون عمرها 18. ومثل $eq فهو حساس للنوع، وبشكل غير بديهي لا يطابق المستندات التي يكون الحقل فيها مفقودًا.

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

📝 الصيغة

{ <field>: { $ne: <value> } }

⚙️ المعلمات

حقلحقل المستند المراد مطابقته.
قيمةالقيمة المراد استبعادها.

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

▶ مثال

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

// $ne: استبعاد المستندات التي عمرها 18
db.users.find({ age: { $ne: 18 } })

المخرجات:

// يُرجع المستندات التي لا يكون عمرها 18 (تُستبعد المستندات ذات الحقل المفقود)

📌 ملاحظات

📚 دروس ذات صلة

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

Qهل يطابق $ne المستندات التي لا يحتوي حقلها على قيمة؟
Aلا. يطابق $ne فقط المستندات التي يوجد فيها الحقل وتختلف قيمته. لتضمين الحقول المفقودة، أضف $exists: true.
Qما الفرق بين $ne و $not: { $eq: ... }؟
Aبالنسبة للحقول العددية تكون النتائج متطابقة. أما مع المصفوفات، فيطابق $ne إذا اختلف أي عنصر، بينما يتطلب $not: { $eq } ألا يساوي أي عنصر القيمة، وهو أكثر تشددًا.
Qهل يمكن لـ $ne مطابقة قيمة null؟
Aنعم. يستبعد $ne: null المستندات التي تكون قيمتها null، لكن المستندات التي يكون حقلها مفقودًا تُعامل كقيمة غير مساوية فتُطابق، لذا ادمج مع $exists عند الحاجة.
Web-Tutorial.com

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

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

100%