Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: NoSQL
Den valfria WHERE satsen (WHERE <filter_condition>) anger villkor som JSON-källobjekten måste uppfylla för att frågan ska inkludera dem i resultat. Ett JSON-objekt måste utvärdera de angivna villkor true som ska beaktas för resultatet. Indexlagret använder WHERE -satsen för att fastställa den minsta delmängden av källobjekt som kan ingå i resultatet.
Syntax
WHERE <filter_condition>
<filter_condition> ::= <scalar_expression>
| beskrivning | |
|---|---|
<filter_condition> |
Anger villkoret som ska uppfyllas för de objekt som ska returneras. |
<scalar_expression> |
Uttryck som representerar det värde som ska beräknas. |
Kommentar
Mer information om skalära uttryck finns i skalära uttryck
Exempel
Det första exemplet använder en enkel likhetsfråga för att returnera en delmängd av objekt. Operatorn = används med WHERE -satsen för att skapa ett filter baserat på enkel likhet.
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"
}
]
I nästa exempel består ett mer komplext filter av skalära uttryck.
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
}
]
I det här sista exemplet används en egenskapsreferens till en boolesk egenskap som filter.
SELECT VALUE {
employeeName: e.name,
isPartTime: e.partTime
}
FROM
employees e
WHERE
e.partTime
[
{
"employeeName": "Riley Ramirez",
"isPartTime": true
},
{
"employeeName": "Caleb Foster",
"isPartTime": true
}
]
Kommentarer
För att ett objekt ska returneras måste ett uttryck som anges som ett filtervillkor utvärderas till true. Endast det booleska värdet
trueuppfyller villkoret, något annat värde:undefined,null,false, en talskalar, en matris eller ett objekt uppfyller inte villkoret.Om du inkluderar partitionsnyckeln
WHEREi -satsen som en del av ett likhetsfilter filtreras frågan automatiskt till endast relevanta partitioner.Du kan använda följande binära operatorer som stöds:
Operatorer Exempel Aritmetik +,-,*,/,%Bitvis \|,&,^,<<,>>,>>>(nollfyllt högerskift)Logisk AND, ,ORNOTJämförelse =,!=,<,>,<=, , ,>=<>Sträng \|\|(sammanfoga)