كيفية استخدام عامل التشغيل في MongoDB
يتم تمثيل عامل التشغيل OR في MongoDB بتنسيق '$ أو'. يتم استخدام '$ or' لتضمين التعبيرات المتعددة داخل الأقواس المربعة التي يتم تنفيذ عملية OR المنطقية عليها. نستخدم $ أو عامل التشغيل في مجموعة MongoDB. أنشأنا مجموعة MongoDB التي تحمل عنوان 'المرضى'. يتم إدراج مجموعة 'المرضى' مع المستندات المتعددة التي نقوم عليها باستخدام $ أو المشغل. يتم إدراج المستندات التالية في MongoDB عن طريق استدعاء طريقة insertMany ():
المرضى. إدراج العديد ( [{
'الاسم الاول' : 'جينيفر' و
'الكنية' : 'جوشوا' و
'عمر' : 44 و
'رقم الهاتف' : 43400517 و
'ميعاد' : 'دكتورالاسنان' و
'شحنة' : 2000 و
'امتحان' : [ 'الأشعة السينية' و 'دم' و 'Pulpal' ]
} و
{
'الاسم الاول' : 'توماس' و
'الكنية' : 'ستيفن' و
'عمر' : 74 و
'رقم الهاتف' : 39034694 و
'تاريخ الموعد' : 'دكتور جراح' و
'شحنة' : 6000 و
'امتحان' : [ 'اختياري' و 'PPT' ]
} و
{
'الاسم الاول' : 'تشارلز' و
'الكنية' : 'دانيال' و
'عمر' : 35 و
'رقم الهاتف' : 65712165 و
'ميعاد' : 'طبيب القلب' و
'شحنة' : 2000 و
'امتحان' : [ 'CT' و 'التصوير بالرنين المغناطيسي' ]
} و
{
'الاسم الاول' : 'ميشيل' و
'الكنية' : 'بول' و
'عمر' : 51 و
'رقم الهاتف' : 54399288 و
'ميعاد' : 'طبيب الجلدية' و
'شحنة' : 8000 و
'امتحان' : [ 'خزعات الجلد' و 'وود لايت' و 'تجريف الجلد' ]
} و
{
'الاسم الاول' : 'أندرو' و
'الكنية' : 'جيري' و
'عمر' : 69 و
'رقم الهاتف' : 6108100 و
'ميعاد' : 'طبيب القلب' و
'شحنة' : 7000 و
'امتحان' : [ 'ECG' و 'جلوكوز الدم' و 'الموجات فوق الصوتية' ]
}
] )
يُقر إخراج المستندات المُدرجة مسبقًا بـ 'صحيح' ويوفر قيم 'العناصر المدرجة' لكل مستند.
مثال 1: عامل تشغيل MongoDB $ OR لمطابقة المستندات
يتم هنا تنفيذ الاستعلام الأساسي لـ MongoDB $ أو عامل التشغيل الذي يوضح عمل هذا المشغل في MongoDB. هنا ، نحدد استعلامًا بطريقة البحث (). يتم تحديد طريقة find () بشكل أكبر باستخدام $ أو عامل التشغيل. يأخذ عامل التشغيل $ أو حقلين ، 'موعد' و 'مصاريف' ، يتم تعيينهما بالقيم. يطابق عامل التشغيل أو $ قيمة الحقل ولا يسترد سوى المستندات التي تتطابق قيمها مع قيم الحقل. يتم توفير بنية الاستعلام الخاصة بالمعامل أو $ في ما يلي:
ديسيبل المرضى ( { دولار أو : [ { ميعاد: 'طبيب الجلدية' } و
{ شحنة: 7000 } ] } ) .جميل ( )
نقوم بإحضار المستندات التي يكون 'موعدها' مع 'طبيب أمراض جلدية' و 'رسومه' '7000'. يعثر عامل التشغيل أو $ على نتائج حقيقية من كلا قيم الحقل ويعيد المستندات المتطابقة في المخرجات.
مثال 2: عامل تشغيل MongoDB $ OR لمطابقة المستندات غير الموجودة
في الاستعلام السابق للعامل $ أو المشغل ، قمنا بإحضار المستندات المتطابقة. الآن ، نسترجع المستند غير الموجود من مجموعة 'المريض'. يأخذ استعلام عامل التشغيل أو $ التالي المستند الذي 'الاسم الأول' هو 'Charles' و 'الموعد' مع 'الطبيب'. يطابق عامل التشغيل أو $ قيم الحقل هذه ضمن مجموعة 'المرضى' ويولد النتائج بعد المطابقة.
ديسيبل المرضى ( { دولار أو : [ { 'الاسم الاول' : 'تشارلز' } و { 'ميعاد' : 'الطبيب المعالج' } ] } ) .جميل ( )
عامل التشغيل أو $ له نتيجة صحيحة والآخر له نتيجة خاطئة. حيث نحدد 'موعد' بقيمة 'طبيب' والتي لا تتطابق مع أي من المستندات الموجودة في مجموعة 'المريض'. لهذا السبب ، يقوم $ أو عامل التشغيل فقط بإرجاع مستند الحقل المطابق وهو 'المريض' كإخراج.
مثال 3: عامل تشغيل MongoDB $ OR مع وسيطات متعددة
قدمنا وسيطين في استعلامات $ أو عامل التشغيل السابقة. هنا ، نقوم بتمرير أكثر من وسيطتين مثل $ أو تعبير عامل التشغيل. نقوم باسترداد المستند الذي يطابق أيًا من قيم حقل 'العمر' المعطاة له. متطلب المشغل $ أو عامل التشغيل هو نفسه للوسيطات المتعددة التي يجب أن يكون أحد التعبيرات فيها صحيحًا. يتم إعطاء الاستعلام عن الوسائط المتعددة في عامل التشغيل $ أو كما يلي:
ديسيبل المرضى ( { 'ميعاد' : 'طبيب القلب' و دولار أو : [ { 'عمر' : عشرين } و { 'عمر' : 35 } و { 'عمر' : 69 } ] } )هناك ، لدينا نتيجتان متطابقتان تم الحصول عليهما من عامل التشغيل $ أو المشغل. تتم مقارنة قيم 'العمر' التي تكون '35' و '69' بمستندات 'المرضى' التي تم الحصول عليها بواسطة $ أو المشغل ويتم عرضها على الغلاف.
مثال 4: عامل التشغيل MongoDB $ OR مع التجميع
تدمج الطريقة التجميعية في MongoDB السجلات في مجموعة. لذلك ، يمكن استخدامها في عمليات مختلفة. نقوم بتنفيذ $ أو عامل التشغيل في طريقة التجميع التي تقوم بتقييم تعبير واحد أو أكثر وإرجاع صحيح إذا تم تقييم أي منها على أنها صحيحة. خلاف ذلك ، يعتبر البيان كاذب.
لنحصل على استعلام عامل التشغيل $ أو التجميع حيث نستدعي أولاً طريقة التجميع () التي تنشر بعد ذلك $ match و $ project المحدد مع قيمة _id المراد مطابقتها من المستند. بعد ذلك ، قمنا بتعيين حقل 'العمر' بقيمة '1' لأننا نريد فقط إنشاء هذا الحقل من جميع المستندات. بعد ذلك ، نحدد سمة 'النتائج' التي لها $ أو العملية. يأخذ عامل التشغيل أو $ العبارة الشرطية لـ $ gt. يعطي التعبير “$ gt: [“ $ Age ”، 69]” العمر الذي تكون قيمته أكبر من “69”. يتم تمرير نتائج هذا التعبير إلى عامل التشغيل $ أو عامل التشغيل ويعيد المعامل $ أو المستند الذي يفي بالشرط المحدد.
المرضى ([
{ مباراة $ : { _id: معرف الكائن ( '6391c61a4c91e007fb4f0228' ) } } و
{ مشروع $ : {
_id: معرف الكائن ( '6391c61a4c91e007fb4f0227' ) و
عمر: واحد و
نتيجة: { دولار أو : [
{ جي تي : [ ' العمر ' و 69 ] }
] }
}
}
]
)
'العمر' الذي يزيد عن '69' هو '74' والذي يتم عرضه في غلاف الإخراج مع 'النتائج' التي لها القيمة 'الحقيقية'.
مثال 5: MongoDB $ OR المشغل يستدعي الشروط
عامل التشغيل MongoDB $ أو عامل التشغيل المنطقي. يمكننا استخدام هذا العامل المنطقي مع العامل الشرطي. يقوم العامل $ أو بإرجاع النتائج عند استيفاء الشروط. بالإضافة إلى ذلك ، يمكننا استدعاء أكثر من شرط واحد في $ أو عامل التشغيل الذي يجب أن يكون أحدها صحيحًا. هنا ، لدينا استعلام عن $ أو عامل محدد بشرطين مختلفين. الشرط الأول هو '{Charges: {$ lt: 6000}}' والذي يعرض المستند الذي يقل عن قيمة 'Charges' البالغة '6000'. يحصل الشرط {Charges: “$ gt: 7000”} على المستند الذي يزيد عن قيمة “الرسوم” البالغة “7000”.
يعطي عامل التشغيل أو $ المستند المطابق عند استيفاء هذه الشروط. بعد ذلك ، نحدد أسماء الحقول التي تظهر فقط عندما يعطي المشغل $ أو المستند المطابق.
ديسيبل المرضى ( {دولار أو : [
{ شحنة: { لتر : 6000 } } و
{ شحنة: { جي تي : 7000 } }
]
} و {
الاسم الاول: واحد و
شحنة: واحد
} )
يعرض الإخراج فقط حقلي 'الاسم الأول' و 'الرسوم' للمستندات المتطابقة.
مثال 6: عامل تشغيل MongoDB $ OR بدون وسيطة
يتم تمرير جميع الاستعلامات التي تم تنفيذها باستخدام عامل التشغيل أو $ بقيمة الوسيطة. الآن ، نحدد $ أو استعلام عامل التشغيل الذي لا يدخل أي وسيطة. عندما يتم تنفيذ المتغير الفارغ $ أو استعلام عامل التشغيل ، فإنه يقيّم النتائج الخاطئة. نعطي استعلامًا حيث يتم تمرير $ أو العملية بالتعبير الفارغ.
المرضى ([
{ مباراة $ : { _هوية شخصية: { $ في : [ معرف الكائن ( '6391c61a4c91e007fb4f0228' ) ] } } } و
{ مشروع $ : {
_id: معرف الكائن ( '6391c61a4c91e007fb4f0227' ) و
نتيجة: { دولار أو : [ ] } }
}
]
)
نتيجة لتزويد عامل التشغيل $ أو بمتوسط فارغ ، تشير النتائج إلى قيمة خاطئة.
مثال 7: مطابقة MongoDB $ OR Operator لقيم الصفيف
نقوم بإدخال مصفوفة 'Test' في المستندات التي لها قيم مختلفة. نستخدم هذه المصفوفة لـ $ أو المشغل لفحص النتائج. يتم استدعاء عامل التشغيل $ أو في الاستعلام التالي داخل طريقة find (). يأخذ عامل التشغيل $ أو المصفوفة 'Test' كتعبير. تستخدم مصفوفة 'Test' عامل التشغيل $ in لتحديد المستندات التي تطابق قيم حقلها قيم 'MRI' و 'CT' في المصفوفة.
ديسيبل المرضى ( { دولار أو : [ { امتحان: { $ في : [ 'التصوير بالرنين المغناطيسي' و 'CT' ] } } ] } ) .جميل ( )يتم عرض مستند واحد على shell عند تنفيذ عامل التشغيل $ أو الاستعلام مما يوضح أن المستند المسترجع يحتوي على قيم الصفيف المحددة.
استنتاج
توضح مقالة MongoDB هذه استخدام MongoDB $ أو استعلام عامل التشغيل لتنفيذ عمليات OR المنطقية على مصفوفة تتضمن تعبيرين أو أكثر بالإضافة إلى استرداد المستندات التي تطابق واحدًا على الأقل من التعبيرات. يتم الاستعلام عن عامل التشغيل أو $ في shell MongoDB لإجراء عمليات مختلفة. يتم استخدام عامل التشغيل أو $ في العوامل الشرطية كتعبير وإرجاع المستندات بناءً على العبارات الشرطية.