مشغل MongoDB OR

Mshghl Mongodb Or



لدينا عوامل تشغيل استعلام منطقية مختلفة متوفرة في MongoDB ، أحدها هو $ أو المشغل. يتم استخدام MongoDB $ أو عامل التشغيل لتنفيذ عملية OR منطقية على مصفوفة تحتوي على تعبيرين أو أكثر واسترداد فقط تلك المستندات التي تتطابق مع أي من التعبيرات المحددة في المصفوفة. يتم استخدام عامل التشغيل أو $ للعثور على عبارات متعددة في استعلام واحد بمعيار مستند مطابق واحد فقط. يسهل $ or عملية الجمع بين العديد من المفاتيح والقيم.

كيفية استخدام عامل التشغيل في 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 لإجراء عمليات مختلفة. يتم استخدام عامل التشغيل أو $ في العوامل الشرطية كتعبير وإرجاع المستندات بناءً على العبارات الشرطية.