Mongodb: كيفية استخدام "not equal" في الاستعلامات
يمكنك استخدام عامل التشغيل $ne (بمعنى “غير متساوٍ”) في MongoDB للعثور على المستندات التي لا يساوي الحقل فيها قيمة معينة.
يستخدم هذا المشغل بناء الجملة الأساسي التالي:
db.myCollection.find({' team ': { $ne : " Mavs "}})
يبحث هذا المثال تحديدًا عن جميع المستندات الموجودة في المجموعة المسماة myCollection حيث لا يساوي حقل الفريق “Mavs”.
يمكنك أيضًا استخدام عامل التشغيل $nin (والذي يعني “ليس في”) للعثور على المستندات التي لا يساوي الحقل فيها أي قيمة في القائمة.
يستخدم هذا المشغل بناء الجملة الأساسي التالي:
db.myCollection.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})
يبحث هذا المثال تحديدًا عن كافة المستندات الموجودة في المجموعة المسماة myCollection حيث لا يساوي حقل الفريق “Mavs” أو “Cavs” أو “Spurs”.
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع فريق التحصيل مع المستندات التالية:
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8}) db.teams.insertOne({team: " Spurs ", points: 35, rebounds: 12}) db.teams.insertOne({team: " Rockets ", points: 20, rebounds: 7}) db.teams.insertOne({team: " Warriors ", points: 25, rebounds: 5}) db.teams.insertOne({team: " Cavs ", points: 23, rebounds: 9})
مثال 1: استعلام “مختلف”.
يوضح التعليمة البرمجية التالية كيفية العثور على جميع المستندات في مجموعة الفرق حيث لا يساوي حقل “الفريق” “Mavs”:
db.teams.find({' team ': { $ne : " Mavs "}})
يقوم هذا الاستعلام بإرجاع المستندات التالية:
{ _id: ObjectId("6203ec0e1e95a9885e1e7658"), team: 'Cavs', points: 23, rebounds: 9 } { _id: ObjectId("6203ec0e1e95a9885e1e7656"), team: 'Rockets', points: 20, rebounds: 7 } { _id: ObjectId("6203ec0e1e95a9885e1e7655"), team: 'Spurs', points: 35, rebounds: 12 } { _id: ObjectId("6203ec0e1e95a9885e1e7657"), team: 'Warriors', points: 25, rebounds: 5 }
لاحظ أنه يتم إرجاع كل مستند في مجموعة الفرق حيث لا يساوي حقل الفريق “Mavs”.
ملاحظة : عامل التشغيل $ne حساس لحالة الأحرف.
المثال 2: الاستعلام “ليس في”.
يوضح التعليمة البرمجية التالية كيفية العثور على جميع المستندات في مجموعة الفرق حيث لا يساوي حقل الفريق “Mavs” أو “Cavs” أو “Spurs”:
db.teams.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})
يقوم هذا الاستعلام بإرجاع المستندات التالية:
{ _id: ObjectId("6203ec0e1e95a9885e1e7656"), team: 'Rockets', points: 20, rebounds: 7 } { _id: ObjectId("6203ec0e1e95a9885e1e7657"), team: 'Warriors', points: 25, rebounds: 5 }
لاحظ أنه يتم إرجاع كل مستند في مجموعة الفرق عندما لا يساوي حقل الفريق “Mavs” أو “Cavs” أو “Spurs”.
ملاحظة رقم 1 : يمكنك العثور على الوثائق الكاملة للوظيفة $ne هنا .
ملاحظة رقم 2 : يمكنك العثور على الوثائق الكاملة للوظيفة $nin هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في MongoDB:
MongoDB: كيفية التحقق مما إذا كان الحقل يحتوي على سلسلة
MongoDB: كيفية البحث عن “غير فارغ” في حقل معين
MongoDB: كيفية استبدال السلاسل