Aracılığıyla paylaş


WHERE yan tümcesi (NoSQL sorgusu)

UYGULANANLAR: NoSQL

İsteğe bağlı WHERE yan tümcesi (WHERE <filter_condition>), sorgunun sonuçlara dahil etmesi için kaynak JSON öğelerinin karşılaması gereken koşulları belirtir. Bir JSON öğesinin, sonuç için dikkate alınması için true belirtilen koşulları değerlendirmesi gerekir. Dizin katmanı, sonucun WHERE parçası olabilecek kaynak öğelerin en küçük alt kümesini belirlemek için yan tümcesini kullanır.

Sözdizimi

WHERE <filter_condition>  
<filter_condition> ::= <scalar_expression>
Açıklama
<filter_condition> Döndürülecek öğeler için karşılanacak koşulu belirtir.
<scalar_expression> Hesaplanacak değeri temsil eden ifade.

Not

Skaler ifadeler hakkında daha fazla bilgi için bkz . skaler ifadeler

Örnekler

Bu ilk örnek, öğelerin bir alt kümesini döndürmek için basit bir eşitlik sorgusu kullanır. işleci = , basit eşitliğe dayalı bir filtre oluşturmak için yan tümcesiyle birlikte WHERE kullanılır.

SELECT VALUE {
    employeeName: e.name,
    currentTeam: e.team
}
FROM
    employees e
WHERE
    e.team = "Hospitality"
[
  {
    "employeeName": "Jordan Mitchell",
    "currentTeam": "Hospitality"
  },
  {
    "employeeName": "Ashley Schroeder",
    "currentTeam": "Hospitality"
  },
  {
    "employeeName": "Tomas Richardson",
    "currentTeam": "Hospitality"
  }
]

Bu sonraki örnekte, daha karmaşık bir filtre skaler ifadelerden oluşur.

SELECT VALUE {
    employeeName: e.name,
    vacationDaysRemaining: e.vacationDays
}
FROM
    employees e
WHERE
    e.vacationDays >= 7
[
  {
    "employeeName": "Ana Bowman",
    "vacationDaysRemaining": 10
  },
  {
    "employeeName": "Madison Butler",
    "vacationDaysRemaining": 7
  }
]

Bu son örnekte, filtre olarak boole özelliğine bir özellik başvurusu kullanılır.

SELECT VALUE {
    employeeName: e.name,
    isPartTime: e.partTime
}
FROM
    employees e
WHERE
    e.partTime
[
  {
    "employeeName": "Riley Ramirez",
    "isPartTime": true
  },
  {
    "employeeName": "Caleb Foster",
    "isPartTime": true
  }
]

Açıklamalar

  • Bir öğenin döndürülmesi için, filtre koşulu olarak belirtilen bir ifadenin true olarak değerlendirilmesi gerekir. Koşulu yalnızca boole değeri true karşılar; diğer herhangi bir değer: undefined, null, false, sayı skaler, dizi veya nesne koşulu karşılamaz.

  • Bölüm anahtarınızı WHERE bir eşitlik filtresinin parçası olarak yan tümcesine eklerseniz, sorgunuz otomatik olarak yalnızca ilgili bölümlere filtre ekler.

  • Aşağıdaki desteklenen ikili işleçleri kullanabilirsiniz:

    İşleçler Örnekler
    Aritmetik +,-,,*,/%
    Bitsel \|, &, ^, <<, , >>, >>> (sağ kaydırmayı sıfır doldurma)
    Mantıklı AND, OR, NOT
    Karşılaştırma =, !=, <, , >, <=, >=, <>
    Dize \|\|(birleştirme)