$nin (ليس في المصفوفة)

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

$nin (ليس في المصفوفة)

يقوم $nin باختيار المستندات التي لا تساوي قيمة حقلها أي قيمة من المصفوفة المعطاة — وهو نفي $in. فالعبارة `{ age: { $nin: [18, 21] } }` تطابق المستخدمين الذين ليس عمرهم 18 ولا 21. ومثل $ne لا يطابق المستندات التي يكون الحقل فيها مفقودًا؛ ومع الحقول من نوع مصفوفة يطابق عندما لا يكون أي عنصر في المصفوفة.

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

📝 الصيغة

{ <field>: { $nin: [ <value1>, <value2>, ... ] } }

⚙️ المعلمات

حقلحقل المستند المراد مطابقته.
مصفوفة قيمقائمة القيم المراد استبعادها؛ ويجب ألا يساوي الحقل أيًّا منها.

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

▶ مثال

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

// $nin: استبعاد المستخدمين بعمر 18 و21
db.users.find({ age: { $nin: [18, 21] } })

// المستندات ذات الحقل المفقود لا تُرجَع
db.users.find({ age: { $nin: [18] } })

المخرجات:

// يُرجع المستخدمين الذين ليس عمرهم 18 ولا 21؛ تُستبعد المستندات ذات الحقل المفقود

📌 ملاحظات

📚 دروس ذات صلة

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

Qما الفرق بين $nin و $ne؟
A$ne يستبعد قيمة واحدة بينما يستبعد $nin قائمة؛ كلاهما يعني "لا يساوي"، و$nin هو الصيغة المجمعة.
Qهل يُرجع $nin المستندات التي لا يحتوي حقلها على قيمة؟
Aلا. مثل $ne، يطابق $nin فقط المستندات التي يوجد فيها الحقل وقيمته ليست في المصفوفة.
Qكيف يطابق $nin الحقول من نوع مصفوفة؟
Aيطابق عندما لا يكون أي عنصر منفرد في المصفوفة المعطاة، وليس المصفوفة بأكملها دفعة واحدة.
Web-Tutorial.com

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

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

100%