Mongodb: كيفية التحقق مما إذا كان الحقل يحتوي على سلسلة
يمكنك استخدام بناء الجملة التالي في MongoDB للتحقق مما إذا كان حقل معين يحتوي على سلسلة محددة:
db.collection.findOne({ name : { $regex : /string/ }})
توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا مع فريق التحصيلات مع المستندات التالية:
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 }) db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 }) db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 }) db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 }) db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })
مثال 1: التحقق مما إذا كان الحقل يحتوي على سلسلة
يمكننا استخدام الكود التالي للتحقق من وجود مستند يحتوي على السلسلة “avs” في حقل الفريق:
db.teams.findOne({ team : { $regex : /avs/ }})
يقوم هذا الاستعلام بإرجاع المستند التالي:
{ _id: ObjectId("618050098ffcfe76d07b1da5"), team: 'Mavs', position: 'Guard', points: 31 }
لاحظ أن الدالة findOne() تقوم بإرجاع المستند الأول في مجموعة تفي بمعايير الاستعلام.
وهذا يعني أن الفرق الأخرى قد يكون لديها أيضًا السلسلة “avs” في اسم فريقها، ولكن المستند الذي يحتوي على اسم الفريق “Mavs” كان ببساطة الأول.
المثال 2: التحقق مما إذا كان الحقل يحتوي على سلسلة (غير حساس لحالة الأحرف)
يمكننا أيضًا استخدام i بعد السلسلة لإجراء مطابقة غير حساسة لحالة الأحرف .
على سبيل المثال، لنفترض أننا استخدمنا الاستعلام التالي:
db.teams.findOne({ team : { $regex : /AVS/i }})
يقوم هذا الاستعلام أيضًا بإرجاع المستند التالي:
{ _id: ObjectId("618050098ffcfe76d07b1da5"), team: 'Mavs', position: 'Guard', points: 31 }
مثال 3: التحقق مما إذا كان الحقل يحتوي على سلسلة (لا توجد نتائج)
إذا كان الحقل لا يحتوي على السلسلة المحددة التي نبحث عنها، فسوف نتلقى ببساطة قيمة فارغة وفقًا لذلك.
على سبيل المثال، لنفترض أننا استخدمنا الاستعلام التالي:
db.teams.findOne({ team : { $regex : /ricks/ }})
يُرجع هذا الاستعلام النتيجة التالية:
null
نظرًا لعدم احتواء أي مستند على السلسلة “ricks” في اسم الفريق، فإننا نتلقى قيمة فارغة نتيجة لذلك.
ملاحظة : يمكنك العثور على الوثائق الكاملة لـ $regex هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في MongoDB:
MongoDB: كيفية البحث عن “غير فارغ” في حقل معين
MongoDB: كيفية الاستعلام باستخدام التعبير العادي “أعجبني”.
MongoDB: كيفية إضافة حقل جديد إلى المجموعة
MongoDB: كيفية إزالة حقل من كل مستند