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.
Bedingungs- und Filterausdrücke, Operatoren und Funktionen in DynamoDB
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 APIDynamoDB-Referenz.
Themen
Syntax für Filter- und Bedingungsausdrücke
In der folgenden Syntaxzusammenfassung ist ein operand
kann wie folgt aussehen:
-
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:
-
— Stimmt, wenna
=b
a
ist gleichb
. -
— Stimmt wenna
<>b
a
ist nicht gleichb
. -
— Stimmt wenna
<b
a
ist kleiner alsb
. -
— Stimmt wenna
<=b
a
ist kleiner als oder gleichb
. -
— Stimmt wenna
>b
a
ist größer alsb
. -
— Stimmt wenna
>=b
a
ist größer als oder gleichb
.
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:
-
— Stimmt wenna
BETWEENb
ANDc
a
ist größer als oder gleichb
, und kleiner als oder gleichc
. -
— Stimmt wenna
IN (b
,c
,d
)a
entspricht einem beliebigen Wert in der Liste, z. B. einem vonb
,c
, oderd
. Die Liste kann bis zu 100 durch Kommas getrennte Werte enthalten.
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üfen Sie, ob die ersten Zeichen des URL Vorderansichtsbildes
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
and b
stellen Bedingungen dar, die bewertet werden müssen.
-
— Stimmt, wenna
ANDb
a
andb
sind beide wahr. -
— Stimmt, wenn entwedera
ORb
a
orb
(oder beide) sind wahr. -
NOT
— Stimmt, wenna
a
ist falsch. Falsch wenna
ist wahr.
Das Folgende ist ein Codebeispiel für AND eine 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 Bedingungen a
and b
sind wahr, und diese Bedingung c
ist falsch. 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