Bu bölüm, SQL'deki "ve" ve "veya" koşullarına benzer şekilde, MongoDB'nin mantıksal operatörlerini tanıtır.
MongoDB Tarafından Desteklenen Mantıksal Operatörler
Operatör | Açıklama |
---|---|
$and | "ve" koşuluna benzer şekilde tüm belirtilen koşulları sağlayan belgeleri eşler |
$not | Belirtilen ifade üzerinde mantıksal NOT işlemi gerçekleştirir |
$or | En az bir belirtilen koşulu sağlayan belgeleri eşler, "veya" koşuluna benzer şekilde |
$nor | Her iki belirtilen koşulu da sağlamayan belgeleri eşler |
$and
Sözdizimi:
{ $and: [ { <ifade1> }, { <ifade2> }, ... , { <ifadeN> } ] }
Açıklama:
-
, bir alt ifadedir - $and, tüm alt ifadeleri içeren bir dizi alır ve tüm alt ifadeler sağlanmalıdır
Örnek:
db.inventory.find( { $and: [ { qty: { $lt : 10 } }, { qty : { $gt: 50 } }] } )
Eşdeğer SQL:
select * from inventory where qty > 50 and qty < 10
$not
db.inventory.find( { price: { $not: { $gt: 1.99 } } } )
Açıklama:
- Eğer koşul price > 1.99 ise, NOT işlemi price <= 1.99 olur.
- Bu belgeye price 1.99'dan küçük veya eşit veya price alanı mevcut değilse sorgu yapar.
SQL'de benzer şekilde:
select * from inventory where price <= 1.99
$or
SQL'deki "veya" koşuluna benzer Sözdizimi:
{ $or: [ { <ifade1> }, { <ifade2> }, ... , { <ifadeN> } ] }
Açıklama:
-
, bir alt ifadedir - $or, en az bir alt ifadeyi içeren bir dizi alır ve en az bir alt ifade sağlanmalıdır
Örnek:
db.inventory.find( { $or: [ { quantity: { $lt: 20 } }, { price: 10 } ] } )
Eşdeğer SQL:
select * from inventory where quantity < 20 or price=10
$nor
Mantıksal NOR işlemi Sözdizimi:
{ $nor: [ { <ifade1> }, { <ifade2> }, ... , { <ifadeN> } ] }
Örnek:
db.inventory.find( { $nor: [ { price: 1.99 }, { sale: true } ] } )
Açıklama:
- price != 1.99 ve sale != true, veya
- price != 1.99 ve sale alanı mevcut değil, veya
- price alanı mevcut değil ve sale != true