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,DescriptionoProductCategory -
Un percorso di documento che fa riferimento a un attributo nidificato
condition-expression ::=operandcomparatoroperand|operandBETWEENoperandANDoperand|operandIN (operand(','operand(, ...) )) | function |conditionANDcondition|conditionORcondition| 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=baè uguale a.b -
— Vero se nona<>baè uguale ab. -
— Vero sea<baè minore dib. -
— Vero sea<=baè minore o uguale ab. -
— Vero sea>baè maggiore dib. -
— Vero sea>=baè 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 seaBETWEENbANDcaè maggiore o uguale abe minore o uguale ac. -
— Vero seaIN (b,c,d)aè uguale a qualsiasi valore nell'elenco, ad esempio qualsiasi dibc, o.dL'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 seaANDbaebsono entrambi veri. -
— Vero se una delle dueaORbaob(o entrambe) sono vere. -
NOT— Vero seaaè 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:
-
aORbANDc
Tuttavia, se racchiudi una condizione tra parentesi, verrà valutata per prima. Ad esempio, la seguente espressione restituisce false:
-
(aORb) 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