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 mengenai fungsi dan pemrograman dengan DynamoDB, lihat Pemrograman dengan DynamoDB dan AWS SDKs dan Referensi API DynamoDB.
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 ::=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)
Membuat perbandingan
Gunakan komparator ini untuk membandingkan operan dengan nilai tunggal:
-
- Benara=bajika sama denganb. -
Benar jikaa<>batidak sama denganb. -
- Benara<bajika kurang darib. -
Benar jikaa<=bakurang dari atau sama denganb. -
Benar jikaa>balebih besar darib. -
Benar jikaa>=balebih besar dari atau sama denganb.
Gunakan kata kunci BETWEEN dan IN untuk membandingkan operan dengan rentang nilai atau daftar nilai yang disebutkan:
-
Benar jikaaBETWEENbANDcalebih besar dari atau sama denganb, dan kurang dari atau sama denganc. -
— Benar jikaaIN (b,c,d)asama dengan nilai apa pun dalam daftar—misalnya, salah satu dari,bc, atau.dDaftar 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 URL gambar tampilan depan adalah
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 jikaaANDbadanbkeduanya benar. -
Benar jika salah satuaORbaataub(atau keduanya) benar. -
NOTBenar jikaaasalah. Salah jikaabenar.
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:
-
aORbANDc
Namun, jika Anda mengapit kondisi dalam tanda kurung, kondisi tersebut akan dievaluasi terlebih dahulu. Misalnya, nilai berikut bernilai false:
-
(aORb) 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