این فصل معرفی میکند اپراتورهای منطقی MongoDB، مشابه "and" و "or" در SQL.
اپراتورهای منطقی پشتیبانی شده توسط MongoDB
اپراتور | توضیحات |
---|---|
$and | سندهایی را که تمام شرایط مشخص شده را برآورده میکنند مطابق "and" در SQL مچ کند |
$not | عملیات NOT منطقی را بر روی عبارت مشخص شده انجام میدهد |
$or | سندهایی را که حداقل یکی از شرایط مشخص شده را برآورده میکنند مطابق "or" در SQL مطابقت مییابد |
$nor | سندهایی را که هیچ یک از شرایط مشخص شده را برآورده نمیکنند مطابقت مییابد |
$and
نحو:
{ $and: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }
توضیح:
-
یک زیر-عبارت است - $and یک آرایه را به دست میآورد که شامل یک گروه از زیر-عبارتهاست و تمام زیر-عبارتها باید برآورده شوند
نمونه:
db.inventory.find( { $and: [ { qty: { $lt : 10 } }, { qty : { $gt: 50 } }] } )
معادل SQL:
select * from inventory where qty > 50 and qty < 10
$not
db.inventory.find( { price: { $not: { $gt: 1.99 } } } )
توضیح:
- اگر شرط price > 1.99 باشد، عملیات NOT میشود price <= 1.99.
- این بدان معنی است که درخواست میدهد سندهایی که price آنها کمتر یا مساوی 1.99 است یا فیلد price وجود ندارد را پرسوجو کند.
مشابه SQL:
select * from inventory where price <= 1.99
$or
مشابه شرط "or" در SQL نحو:
{ $or: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }
توضیح:
-
یک زیر-عبارت است - $or یک آرایه را به دست میآورد که شامل یک گروه از زیر-عبارتهاست و حداقل یک زیر-عبارت باید برآورده شود
نمونه:
db.inventory.find( { $or: [ { quantity: { $lt: 20 } }, { price: 10 } ] } )
معادل SQL:
select * from inventory where quantity < 20 or price=10
$nor
عملیات NOR منطقی نحو:
{ $nor: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }
نمونه:
db.inventory.find( { $nor: [ { price: 1.99 }, { sale: true } ] } )
توضیح:
- price != 1.99 و sale != true یا
- price != 1.99 و فیلد sale وجود ندارد یا
- فیلد price وجود ندارد و sale != true