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