Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Espressioni, operatori e funzioni di condizionamento e filtro in DynamoDB
Per manipolare i dati in una tabella DynamoDB, si utilizzano PutItem
le UpdateItem
operazioni, e. DeleteItem
Per le operazioni di manipolazione dei dati, puoi specificare un'espressione di condizione per determinare quale elemento deve essere modificato. Se l'espressione della condizione restituisce true, l'operazione ha esito positivo. In caso contrario, l'operazione non va a buon fine.
In questa sezione sono descritte le funzioni e le parole chiave integrate per scrivere espressioni di condizione ed espressioni di filtro in Amazon DynamoDB. Per informazioni più dettagliate sulle funzioni e sulla programmazione con DynamoDB, consulta DynamoDB Programmazione con DynamoDB e AWS SDKs Reference. API
Argomenti
Sintassi per le espressioni di filtro e condizioni
Nel seguente riepilogo della sintassi, un operand
può essere il seguente:
-
Un nome di attributo di primo livello, ad esempio
Id
,Title
,Description
oProductCategory
-
Un percorso di documento che fa riferimento a un attributo nidificato
condition-expression ::=
operand
comparatoroperand
|operand
BETWEENoperand
ANDoperand
|operand
IN (operand
(','operand
(, ...) )) | function |condition
ANDcondition
|condition
ORcondition
| NOTcondition
| (condition
) comparator ::= = | <> | < | <= | > | >= function ::= attribute_exists (path
) | attribute_not_exists (path
) | attribute_type (path
,type
) | begins_with (path
,substr
) | contains (path
,operand
) | size (path
)
Realizzazione di confronti
Usa questi comparatori per confrontare un operando con un singolo valore:
-
— Vero sea
=b
a
è uguale ab
. -
— Vero sea
<>b
a
non è uguale ab
. -
— Vero sea
<b
a
è inferiore ab
. -
— Vero sea
<=b
a
è inferiore o uguale ab
. -
— Vero sea
>b
a
è maggiore dib
. -
— Vero sea
>=b
a
è maggiore o uguale ab
.
Utilizza le parole chiave BETWEEN
e IN
per confrontare un operando con un intervallo di valori o con un elenco enumerato di valori:
-
— Vero sea
BETWEENb
ANDc
a
è maggiore o uguale ab
e minore o uguale ac
. -
— Vero sea
IN (b
,c
,d
)a
è uguale a qualsiasi valore nell'elenco, ad esempio uno qualsiasi deib
,c
, oppured
. L'elenco può contenere fino a 100 valori, separati da virgole.
Funzioni
Utilizza le seguenti funzioni per determinare se un attributo è presente in un elemento o per valutare il valore di un attributo. I nomi di funzione rispettano la distinzione tra lettere maiuscole e minuscole. Per un attributo nidificato, è necessario fornire l'intero percorso del documento.
Funzione | Descrizione |
---|---|
|
True se l'elemento contiene l'attributo specificato da Esempio: Verifica se un elemento nella tabella
|
|
True se l'attributo specificato da Esempio: Verifica se un elemento ha un attributo
|
|
True se l'attributo del percorso specificato è di un particolare tipo di dato. Il parametro
È necessario utilizzare un valore di attributo di espressione per il parametro Esempio: Verifica se l'attributo
È necessario utilizzare un valore di attributo di espressione per il parametro |
|
True se l'attributo specificato da Esempio: controlla se i primi caratteri dell'immagine frontale URL sono
Il valore di attributo di espressione |
|
True se l'attributo specificato da
Se l'attributo specificato da Il percorso e l'operando devono essere distinti. Vale a dire, Esempio: Verifica se l'attributo
Il valore di attributo di espressione Esempio: Verifica se il prodotto è disponibile in rosso.
Il valore di attributo di espressione |
|
Restituisce un numero che rappresenta le dimensioni di un attributo. I seguenti sono tipi di dati validi per l'utilizzo con Se l'attributo è di tipo Esempio: Verifica se la stringa
Se l'attributo è di tipo Esempio: supponi che l'elemento
Se il tipo di dati dell'attributo è Esempio: Verifica se il prodotto è disponibile in più di un colore. Il valore di attributo di espressione
Se il tipo dell'attributo è Esempio: Verifica se il numero di revisioni
|
Valutazioni logiche
Utilizza le parole chiave AND
, OR
e NOT
per eseguire valutazioni logiche. Nell'elenco seguente, a
e b
rappresentano le condizioni da valutare.
-
— Vero sea
ANDb
a
eb
sono entrambe vere. -
— Vero se uno dei duea
ORb
a
oppureb
(o entrambe) sono vere. -
NOT
— Vero sea
a
è falso. Falso sea
è vero.
Di seguito è riportato un esempio di codice di operazione AND in a.
dynamodb-local (*)> select * from exprtest where a > 3 and a <
5;
Parentesi
Utilizza le parentesi per modificare la priorità di una valutazione logica. Si supponga, ad esempio, che le condizioni a
e b
sono vere e quella condizione c
è falso. La seguente espressione restituisce true:
-
a
ORb
ANDc
Tuttavia, se racchiudi una condizione tra parentesi, verrà valutata per prima. Ad esempio, la seguente espressione restituisce false:
-
(
a
ORb
) ANDc
Nota
Puoi annidare le parentesi in un'espressione: quelle più interne saranno valutate per prime.
Di seguito è riportato un esempio di codice con parentesi in una valutazione logica.
dynamodb-local (*)> select * from exprtest where attribute_type(b, string) or
( a = 5 and c = “coffee”);
Priorità nelle condizioni
DynamoDB valuta le condizioni da sinistra a destra utilizzando le seguenti regole di precedenza:
-
= <> < <= > >=
-
IN
-
BETWEEN
-
attribute_exists attribute_not_exists begins_with contains
-
Parentesi
-
NOT
-
AND
-
OR