

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# QueryFilter (warisan)
<a name="LegacyConditionalParameters.QueryFilter"></a>

**catatan**  
Kami menyarankan agar Anda menggunakan parameter ekspresi yang baru, bukan parameter warisan ini, jika memungkinkan. Untuk informasi selengkapnya, lihat [Menggunakan ekspresi di DynamoDB](Expressions.md). Untuk informasi spesifik tentang parameter baru sebagai pengganti untuk yang satu ini, [gunakan *FilterExpression*sebagai gantinya.](#FilterExpression.instead). 

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)](LegacyConditionalParameters.ConditionalOperator.md) 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 dengan, atau kurang dari didasarkan pada pengodean biner UTF-8. 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 jenis data di JSON, lihat [API tingkat rendah DynamoDB](Programming.LowLevelAPI.md).
+  `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 *FilterExpression*sebagai gantinya - Contoh
<a name="FilterExpression.instead"></a>

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