Bölüm Girişi

Bu bölümde, MongoDB'nin JSON belgelerindeki dizi alan eşleme operatörlerini tanıtacağız.

MongoDB Tarafından Desteklenen Dizi Sorgu Operatörleri

Operatör Açıklama
$all Sorgu koşulunda tüm dizi değerini eşleştirir
$elemMatch Dizi alanları için, $elemMatch tarafından belirlenen tüm koşullara herhangi bir değer eşleşirse, koşul karşılanmış olur
$size Dizi boyutunu eşleştirir

$all

{ tags: { $all: [ "ssl" , "security" ] } }

Şuna eşdeğerdir

{ $and: [ { tags: "ssl" }, { tags: "security" } ] }

tags alanı bir dizi değeridir ve tags dizisi aynı anda ssl ve security değerlerini içerir.

$elemMatch

Test Verisi

scores koleksiyon verisi aşağıdaki gibidir:

{ _id: 1, results: [ 82, 85, 88 ] }
{ _id: 2, results: [ 75, 88, 89 ] }

Örnek:

db.scores.find(
   { results: { $elemMatch: { $gte: 80, $lt: 85 } } }
)

Dönen Veri:

{ "_id" : 1, "results" : [ 82, 85, 88 ] }

Açıklama:

  • results dizisinde herhangi bir değer 80'den büyük eşit ise ve 85'ten küçükse, belge başarıyla eşleştirilir.

$size

Dizi boyutunu eşleştirir

db.collection.find( { field: { $size: 2 } } );

Açıklama:

  • field alanı bir dizi değeridir ve dizi boyutu 2'ye eşitse, belge başarıyla eşleştirilir.