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 Programmazione con DynamoDB e AWS SDKs e DynamoDB API Reference.
Argomenti
Sintassi per le espressioni di filtro e condizioni
Nel seguente riepilogo della sintassi, an 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
Utilizzate questi comparatori per confrontare un operando con un singolo valore:
-
— Vero sea
=b
a
è uguale a.b
-
— Vero se nona
<>b
a
è uguale ab
. -
— Vero sea
<b
a
è minore dib
. -
— Vero sea
<=b
a
è minore 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 qualsiasi dib
c
, o.d
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: Verifica se i primi caratteri dell'URL dell'immagine di vista frontale 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 entrambi veri. -
— Vero se una delle duea
ORb
a
ob
(o entrambe) sono vere. -
NOT
— Vero sea
a
è falso. Falso sea
è vero.
Di seguito è riportato un esempio di codice di AND in un'operazione.
dynamodb-local (*)> select * from exprtest where a > 3 and a <
5;
Parentesi
Utilizza le parentesi per modificare la priorità di una valutazione logica. Ad esempio, supponiamo che le condizioni a
e b
siano vere e che tale condizione c
sia falsa. 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