Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kondisi dan filter ekspresi, operator, dan fungsi di DynamoDB
Untuk memanipulasi data dalam tabel DynamoDB, Anda menggunakan,, dan operasiPutItem
. UpdateItem
DeleteItem
Untuk operasi manipulasi data ini, Anda dapat menentukan ekspresi kondisi untuk menentukan item mana yang harus dimodifikasi. Jika ekspresi kondisi dievaluasi ke true, operasi berhasil. Jika tidak, operasi gagal.
Bagian ini mencakup fungsi dan kata kunci bawaan untuk menulis ekspresi filter dan ekspresi kondisi di Amazon DynamoDB. Untuk informasi lebih rinci tentang fungsi dan pemrograman dengan DynamoDB, lihat Pemrograman dengan DynamoDB dan AWS SDKs dan Referensi DynamoDB. API
Topik
Sintaks untuk ekspresi filter dan kondisi
Dalam ringkasan sintaks berikut, operand
dapat berupa sebagai berikut:
-
Nama atribut tingkat atas, seperti
Id
,Title
,Description
, atauProductCategory
-
Jalur dokumen yang mereferensikan atribut bersarang
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
)
Membuat perbandingan
Gunakan komparator ini untuk membandingkan operan dengan nilai tunggal:
-
- Benara
=b
a
jika sama denganb
. -
Benar jikaa
<>b
a
tidak sama denganb
. -
Benar jikaa
<b
a
kurang darib
. -
Benar jikaa
<=b
a
kurang dari atau sama denganb
. -
Benar jikaa
>b
a
lebih besar darib
. -
Benar jikaa
>=b
a
lebih besar dari atau sama denganb
.
Gunakan kata kunci BETWEEN
dan IN
untuk membandingkan operan dengan rentang nilai atau daftar nilai yang disebutkan:
-
Benar jikaa
BETWEENb
ANDc
a
lebih besar dari atau sama denganb
, dan kurang dari atau sama denganc
. -
— Benar jikaa
IN (b
,c
,d
)a
sama dengan nilai apa pun dalam daftar—misalnya, salah satu dari,b
c
, atau.d
Daftar ini dapat berisi hingga 100 nilai, dipisahkan dengan koma.
Fungsi
Gunakan fungsi berikut untuk menentukan apakah atribut berada dalam item, atau untuk mengevaluasi nilai atribut. Nama fungsi ini peka huruf besar/kecil. Untuk atribut bersarang, Anda harus menyediakan jalur dokumen yang lengkap.
Fungsi | Deskripsi |
---|---|
|
True jika item berisi atribut yang ditentukan oleh Contoh: Periksa apakah item dalam tabel
|
|
True jika atribut yang ditentukan oleh Contoh: Periksa apakah item memiliki atribut
|
|
True jika atribut di jalur yang ditentukan merupakan jenis daya tertentu. Parameter
Anda harus menggunakan nilai atribut ekspresi untuk parameter Contoh: Periksa apakah atribut
Anda harus menggunakan nilai atribut ekspresi untuk parameter |
|
True jika atribut yang ditentukan oleh Contoh: Periksa apakah beberapa karakter pertama dari gambar URL tampilan depan
Nilai atribut ekspresi |
|
True jika atribut yang ditentukan oleh
Jika atribut yang ditentukan oleh Jalan dan operan harus berbeda. Artinya, Contoh: Periksa apakah atribut
Nilai atribut ekspresi Contoh: Periksa apakah produk tersedia dalam warna merah.
Nilai atribut ekspresi |
|
Mengembalikan angka yang mewakili ukuran atribut ini. Berikut ini adalah jenis daya yang valid untuk digunakan dengan Jika atribut adalah jenis Contoh: Periksa apakah string
Jika atribut adalah jenis Contoh: Misalkan item
Jika atribut adalah jenis daya Contoh: Periksa apakah produk tersedia dalam lebih dari satu warna. Nilai atribut ekspresi
Jika atribut adalah jenis Contoh: Periksa apakah jumlah ulasan
|
Evaluasi logika
Gunakan kata kunci AND
, OR
, dan NOT
untuk melakukan evaluasi logika. Dalam daftar berikut, a
dan b
mewakili kondisi yang akan dievaluasi.
-
Benar jikaa
ANDb
a
danb
keduanya benar. -
Benar jika salah satua
ORb
a
ataub
(atau keduanya) benar. -
NOT
Benar jikaa
a
salah. Salah jikaa
benar.
Berikut ini adalah contoh kode AND dalam suatu operasi.
dynamodb-local (*)> select * from exprtest where a > 3 and a <
5;
Tanda kurung
Gunakan tanda kurung untuk mengubah prioritas evaluasi logis. Misalnya, anggaplah bahwa kondisi a
dan b
benar, dan kondisi c
itu salah. Ekspresi berikut bernilai True:
-
a
ORb
ANDc
Namun, jika Anda mengapit kondisi dalam tanda kurung, kondisi tersebut akan dievaluasi terlebih dahulu. Misalnya, nilai berikut bernilai false:
-
(
a
ORb
) ANDc
catatan
Anda dapat menyarangkan tanda kurung dalam sebuah ekspresi. Bagian paling dalam akan dievaluasi terlebih dahulu.
Berikut ini adalah contoh kode dengan tanda kurung dalam evaluasi logis.
dynamodb-local (*)> select * from exprtest where attribute_type(b, string) or
( a = 5 and c = “coffee”);
Prioritas dalam kondisi
DynamoDB mengevaluasi kondisi dari kiri ke kanan menggunakan aturan prioritas berikut:
-
= <> < <= > >=
-
IN
-
BETWEEN
-
attribute_exists attribute_not_exists begins_with contains
-
Tanda kurung
-
NOT
-
AND
-
OR