Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Um Daten in einer DynamoDB-Tabelle zu bearbeiten, verwenden Sie die Operationen PutItem
UpdateItem
, undDeleteItem
. Für diese Datenmanipulationsoperationen können Sie einen Bedingungsausdruck angeben, um zu ermitteln, welche Elemente geändert werden sollten. Wenn der Bedingungsausdruck als wahr ausgewertet wird, ist der Vorgang erfolgreich. Andernfalls schlägt die Operation fehl.
In diesem Abschnitt werden die integrierten Funktionen und Schlüsselwörter zum Schreiben von Filter- und Bedingungsausdrücken in Amazon DynamoDB erörtert. Ausführlichere Informationen zu Funktionen und Programmierung mit DynamoDB finden Sie unter Programmieren mit DynamoDB und dem AWS SDKs und in der DynamoDB-API-Referenz.
Themen
Syntax für Filter- und Bedingungsausdrücke
In der folgenden Syntaxzusammenfassung operand
kann ein wie folgt lauten:
-
Ein Attributname auf oberster Ebene, z. B.
Id
,Title
,Description
oderProductCategory
-
Ein Dokumentpfad, der auf ein verschachteltes Attribut verweist
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
)
Durchführen von Vergleichen
Verwenden Sie diese Komparatoren, um einen Operanden mit einem einzelnen Wert zu vergleichen:
-
— Wahr, wenn gleicha
=b
a
ist.b
-
— Wahr, wenn ungleicha
<>b
a
istb
. -
— Stimmt, wenna
<b
a
es kleiner ist alsb
. -
— Wahr, wenn kleiner oder gleicha
<=b
a
istb
. -
— Stimmt, wenn größer alsa
>b
a
istb
. -
— Wahr, wenn größer als oder gleicha
>=b
a
istb
.
Verwenden Sie die Schlüsselwörter BETWEEN
und IN
, um einen Operanden mit einer Reihe von Werten oder einer Aufzählung von Werten zu vergleichen:
-
— Wahra
BETWEENb
ANDc
b
, wenn größer als oder gleich und kleiner als oder gleicha
istc
. -
— Wahr, wenna
IN (b
,c
,d
)a
der Wert einem beliebigen Wert in der Liste entspricht, z. B. einem beliebigen Wert vonb
c
, oder.d
Die Liste kann bis zu 100 Werte enthalten, die durch Kommas getrennt sind.
Funktionen
Verwenden Sie die folgenden Funktionen, um zu bestimmen, ob ein Attribut in einem Element vorhanden ist, oder um den Wert eines Attributs zu bewerten. Bei Funktionsnamen wird zwischen Groß- und Kleinschreibung unterschieden. Bei einem verschachtelten Attribut müssen Sie den vollständigen Dokumentpfad angeben.
Funktion | Beschreibung |
---|---|
|
True, wenn das Element das von Beispiel: Prüfung, ob ein Element in der Tabelle
|
|
True, wenn das Element das von Beispiel: Prüfung, ob ein Element über ein
|
|
True, wenn das Attribut am angegebenen Pfad einen bestimmten Datentyp hat. Der Parameter
Sie müssen einen Ausdrucksattributwert für den Parameter Beispiel: Prüfung, ob das Attribut
Sie müssen einen Ausdrucksattributwert für den Parameter |
|
True, wenn das von Beispiel: Prüfung, ob die ersten Zeichen der URL zum Vorderansichtsbild
Der Ausdrucksattributwert |
|
True, wenn das von
Wenn das von Der Pfad und der Operand müssen unterschiedlich sein. Das heißt, bei Beispiel: Prüfung, ob das Attribut
Der Ausdrucksattributwert Beispiel: Prüfung, ob das Produkt in rot verfügbar ist.
Der Ausdrucksattributwert |
|
Gibt eine Zahl zurück, die für die Größe eines Attributs steht. Die folgenden sind gültige Datentypen, die mit Wenn das Attribut vom Typ Beispiel: Prüfung, ob die Zeichenfolge
Wenn das Attribut vom Typ Beispiel: Angenommen, das Element
Wenn das Attribut vom Typ Beispiel: Prüfung, ob das Produkt in mehr als einer Farbe verfügbar ist. Der Ausdrucksattributwert
Wenn das Attribut vom Typ Beispiel: Prüfung, ob die Anzahl der
|
Logische Auswertungen
Verwenden Sie die Schlüsselwörter AND
, OR
und NOT
, um logische Auswertungen durchzuführen. In der folgenden Liste a
und b
stellen Bedingungen dar, die ausgewertet werden sollen.
-
— Stimmt, wenna
ANDb
a
und beide wahrb
sind. -
— Stimmt, wenn entwedera
ORb
a
oderb
(oder beide) wahr sind. -
NOT
— Wahr, wenn falscha
a
ist. Falsch, wenna
es wahr ist.
Im Folgenden finden Sie ein Codebeispiel für AND in einer Operation.
dynamodb-local (*)> select * from exprtest where a > 3 and a <
5;
Klammern
Verwenden Sie Klammern, um die Priorität einer logischen Auswertung zu ändern. Nehmen wir zum Beispiel an, dass die Bedingungen a
und wahr b
sind und diese Bedingung falsch c
ist. Der folgenden Ausdruck ergibt True:
-
a
ORb
ANDc
Wenn Sie jedoch eine Bedingung in Klammern setzen, wird diese zuerst ausgewertet. Folgendes ergibt z. B. False:
-
(
a
ORb
) ANDc
Anmerkung
Sie können Klammern in einem Ausdruck schachteln. Die innersten Klammern werden zuerst ausgewertet.
Im Folgenden finden Sie ein Codebeispiel mit Klammern in einer logischen Auswertung.
dynamodb-local (*)> select * from exprtest where attribute_type(b, string) or
( a = 5 and c = “coffee”);
Priorität in Bedingungen
DynamoDB wertet Bedingungen von links nach rechts entsprechend der folgenden Prioritätsregeln aus:
-
= <> < <= > >=
-
IN
-
BETWEEN
-
attribute_exists attribute_not_exists begins_with contains
-
Klammern
-
NOT
-
AND
-
OR