مشغلو الاستعلام والاختيار في MongoDB

0 الأسهم
0
0
0
0

مقدمة

تتضمن مشغلات الاستعلام في MongoDB مشغلات المقارنة والمنطقية والعناصرية والتقييم والجغرافية والمصفوفة والبتية والتعليق.

مشغلات مقارنة MongoDB

$eq

يُحدد مُعامل $eq شرط المساواة. يُطابق هذا المُعامل المستندات التي تكون فيها قيمة الحقل مساوية للقيمة المُحددة.

بناء الجملة:

{ : { $eq: } }

مثال:

db.books.find({ price: { $eq: 300 } })

في هذا المثال، يبحث الاستعلام في مجموعة الكتب لتحديد جميع المستندات حيث تكون قيمة حقل السعر 300.

$gt

يقوم عامل $gt باختيار المستندات التي تكون فيها قيمة الحقل أكبر من القيمة المحددة.

بناء الجملة:

{ field: { $gt: value } }

مثال:

db.books.find({ price: { $gt: 200 } })
$gte

يقوم عامل $gte باختيار المستندات حيث تكون قيمة الحقل أكبر من أو تساوي القيمة المحددة.

بناء الجملة:

{ field: { $gte: value } }

مثال:

db.books.find({ price: { $gte: 250 } })
$in

يقوم عامل $in باختيار المستندات حيث تكون قيمة الحقل مساوية لأي من القيم الموجودة في المصفوفة المحددة.

بناء الجملة:

{ field: { $in: [, , …] } }

مثال:

db.books.find({ price: { $in: [100, 200] } })
$lt

يقوم عامل $lt باختيار المستندات حيث تكون قيمة الحقل أقل من القيمة المحددة.

بناء الجملة:

{ field: { $lt: value } }

مثال:

db.books.find({ price: { $lt: 20 } })
$lte

يقوم عامل $lte باختيار المستندات حيث تكون قيمة الحقل أقل من أو تساوي القيمة المحددة.

بناء الجملة:

{ field: { $lte: value } }

مثال:

db.books.find({ price: { $lte: 250 } })
$ne

يقوم عامل $ne باختيار المستندات حيث لا تساوي قيمة الحقل القيمة المحددة.

بناء الجملة:

{ : { $ne: } }

مثال:

db.books.find({ price: { $ne: 500 } })
$nin

يقوم عامل $nin باختيار المستندات حيث لا توجد قيمة الحقل في المصفوفة المحددة أو لا توجد على الإطلاق.

بناء الجملة:

{ field: { $nin: [, , …] } }

مثال:

db.books.find({ price: { $nin: [50, 150, 200] } })

عوامل التشغيل المنطقية في MongoDB

$and

يعمل عامل $and كمعامل AND منطقي على مصفوفة. يجب أن تحتوي المصفوفة على تعبير واحد أو أكثر، وتختار المستندات التي تُلبي جميع التعبيرات فيها.

بناء الجملة:

{ $and: [ { }, { }, ....] }

مثال:

db.books.find({ $and: [ { price: { $ne: 500 } }, { price: { $exists: true } } ] })
$not

يعمل عامل $not كمشغل NOT منطقي على التعبير المحدد ويحدد المستندات التي لا تتطابق مع التعبير المقابل.

بناء الجملة:

{ field: { $not: { } } }

مثال:

db.books.find({ price: { $not: { $gt: 200 } } })
$nor

يعمل عامل $nor كمشغل NOR منطقي على مجموعة مكونة من مصطلح استعلام واحد أو أكثر، حيث يقوم بتحديد المستندات التي لا تلبي أيًا من مصطلحات الاستعلام في المجموعة.

بناء الجملة:

{ $nor: [ { }, { }, ..... ] }

مثال:

db.books.find({ $nor: [ { price: 200 }, { sale: true } ] })
$or

<pعملگر $or به عنوان یک عملگر منطقی OR روی یک آرایه از دو یا چند عبارت عمل می‌کند و اسنادی را انتخاب می‌کند که حداقل یکی از عبارات را برآورده کنند.

بناء الجملة:

{ $or: [ { }, { }, ... , { } ] }

مثال:

db.books.find({ $or: [ { quantity: { $lt: 200 } }, { price: 500 } ] })

عوامل تشغيل عنصرية في MongoDB

$exists

يختار عامل $exists المستندات التي تحتوي على الحقل المحدد عندما تكون القيمة المنطقية صحيحة. ويختار أيضًا المستندات التي تحتوي على الحقل عندما تكون القيمة فارغة.

بناء الجملة:

{ field: { $exists: } }

مثال:

db.books.find({ qty: { $exists: true, $nin: [5, 15] } })
$type

يقوم عامل $type باختيار المستندات التي تم تحديد قيمة حقلها كنوع BSON.

بناء الجملة:

{ field: { $type: } }

مثال:

db.books.find({ "bookid": { $type: 2 } })

مشغلو تقييم MongoDB

$expr

يسمح عامل $expr باستخدام التعبيرات المجمعة في لغة الاستعلام.

بناء الجملة:

{ $expr: { } }

مثال:

db.store.find({ $expr: { $gt: [ "$product", "price" ] } })
مخطط $json

يقوم هذا المشغل باختيار المستندات التي تطابق مخطط JSON المحدد.

بناء الجملة:

{ $jsonSchema: }
$mod

يقوم عامل $mod باختيار المستندات التي تحتوي قيمة حقلها، عند قسمتها على المقسوم، على الباقي المحدد.

بناء الجملة:

{ field: { $mod: [ divisor, remainder ] } }

مثال:

db.books.find({ qty: { $mod: [ 200, 0 ] } })
$regex

يوفر هذا المشغل إمكانيات التعبيرات العادية لمطابقة أنماط النصوص في الاستعلامات. يستخدم MongoDB تعبيرات عادية متوافقة مع لغة Perl.

بناء الجملة:

{ : /pattern/ }

مثال:

db.books.find({ price: { $regex: /789$/ } })
$text

يقوم عامل $text بالبحث عن محتويات الحقل المفهرس باستخدام فهرس النص.

بناء الجملة:

{ $text: { $search: , $language: , $caseSensitive: , $diacriticSensitive: } }

مثال:

db.books.find({ $text: { $search: "Othelo" } })
$حيث

يتم استخدام عامل "where" لتمرير سلسلة تحتوي على تعبير JavaScript أو دالة JavaScript كاملة إلى محرك الاستعلام.

مثال:

db.books.find({ $where: function() { return (hex_md5(this.name) == "9b53e667f30cd329dca1ec9e6a8") } })
اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

قد يعجبك أيضاً