QueryFilter (warisan) - Amazon DynamoDB

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 dalam ComparisonOperator.

    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 dari A, dan a lebih besar dari B.

    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"} }'