Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
QueryFilter (warisan)
catatan
Kami menyarankan agar Anda menggunakan parameter ekspresi yang baru, bukan parameter warisan ini, jika memungkinkan. Untuk informasi selengkapnya, lihat Menggunakan ekspresi di DynamoDB. Untuk informasi spesifik tentang parameter baru sebagai pengganti untuk yang satu ini, gunakan FilterExpressionsebagai gantinya..
Dalam operasi Query
, parameter bersyarat warisan QueryFilter
adalah syarat yang mengevaluasi hasil kueri setelah item dibaca dan hanya mengembalikan nilai-nilai yang diinginkan.
Parameter ini tidak mendukung atribut jenis Daftar atau Peta.
catatan
QueryFilter
diterapkan setelah item dibaca; proses penyaringan tidak menggunakan unit kapasitas baca tambahan.
Jika Anda memberikan lebih dari satu syarat dalam peta QueryFilter
, secara default semua syarat harus bernilai true. Dengan kata lain, kondisi digabungkan menggunakan AND
operator. (Anda dapat menggunakan parameter ConditionalOperator (warisan) untuk syarat OR sebagai gantinya. Jika Anda melakukan ini, setidaknya salah satu syarat harus bernilai true, bukan semuanya.)
Perhatikan bahwa QueryFilter
tidak mengizinkan atribut kunci. Anda tidak dapat menentukan syarat filter pada kunci partisi atau kunci urutan.
Setiap elemen QueryFilter
terdiri dari nama atribut untuk dimodifikasi, beserta hal berikut:
-
AttributeValueList
- Satu atau beberapa nilai untuk mengevaluasi atribut yang disediakan. Jumlah nilai dalam daftar tergantung pada operator yang ditentukan dalamComparisonOperator
.Untuk jenis Angka, perbandingan nilainya bersifat numerik.
Perbandingan nilai string untuk lebih besar dari, sama, atau kurang dari didasarkan pada UTF -8 pengkodean biner. Sebagai contoh,
a
lebih besar dariA
, dana
lebih besar dariB
.Untuk jenis Biner, DynamoDB memperlakukan setiap byte data biner sebagai tidak bertanda ketika membandingkan nilai-nilai biner.
Untuk informasi tentang menentukan tipe data diJSON, lihatDynamoDB tingkat rendah API.
-
ComparisonOperator
- Sebuah pembanding untuk mengevaluasi atribut. Misalnya: sama dengan, lebih besar dari, dan kurang dari.Operator perbandingan berikut ini tersedia:
EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN
Gunakan FilterExpressionsebagai gantinya - Contoh
Misalkan Anda ingin mengajukan kueri tabel Musik dan menerapkan syarat untuk item yang cocok. Anda dapat menggunakan permintaan Query
dengan parameter QueryFilter
, seperti dalam contoh AWS CLI ini:
aws dynamodb query \ --table-name Music \ --key-conditions '{ "Artist": { "ComparisonOperator": "EQ", "AttributeValueList": [ {"S": "No One You Know"} ] } }' \ --query-filter '{ "Price": { "ComparisonOperator": "GT", "AttributeValueList": [ {"N": "1.00"} ] } }'
Anda dapat menggunakan FilterExpression
sebagai gantinya:
aws dynamodb query \ --table-name Music \ --key-condition-expression 'Artist = :a' \ --filter-expression 'Price > :p' \ --expression-attribute-values '{ ":p": {"N":"1.00"}, ":a": {"S":"No One You Know"} }'