

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

# Penyaring
<a name="js-aws-appsync-resolver-reference-dynamodb-filter"></a>

Saat menanyakan objek di DynamoDB menggunakan `Query` operasi `Scan` dan, Anda dapat secara opsional menentukan `filter` a yang mengevaluasi hasil dan hanya mengembalikan nilai yang diinginkan.

Properti filter dari `Scan` permintaan `Query` atau memiliki struktur berikut:

```
type DynamoDBExpression = {
  expression: string;
  expressionNames?: { [key: string]: string};
  expressionValues?: { [key: string]: any};
};
```

Bidang didefinisikan sebagai berikut:

** `expression` **  
Ekspresi kueri. Untuk informasi selengkapnya tentang cara menulis ekspresi filter, lihat dokumentasi [DynamoDB [dan QueryFilter ScanFilter](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ScanFilter.html) DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html). Bidang ini harus ditentukan.

** `expressionNames` **  
Substitusi untuk placeholder *nama* atribut ekspresi, dalam bentuk pasangan kunci-nilai. Kunci tersebut sesuai dengan placeholder nama yang digunakan dalam file. `expression` Nilai harus berupa string yang sesuai dengan nama atribut item di DynamoDB. Bidang ini bersifat opsional, dan seharusnya hanya diisi dengan substitusi untuk placeholder nama atribut ekspresi yang digunakan dalam. `expression`

** `expressionValues` **  
Substitusi untuk placeholder *nilai* atribut ekspresi, dalam bentuk pasangan kunci-nilai. Kunci sesuai dengan placeholder nilai yang digunakan dalam`expression`, dan nilainya harus berupa nilai yang diketik. Untuk informasi selengkapnya tentang cara menentukan “nilai yang diketik”, lihat Mengetik [sistem (pemetaan permintaan)](https://docs.aws.amazon.com/appsync/latest/devguide/js-resolver-reference-dynamodb.html#js-aws-appsync-resolver-reference-dynamodb-typed-values-request). Ini harus ditentukan. Bidang ini bersifat opsional, dan seharusnya hanya diisi dengan substitusi untuk placeholder nilai atribut ekspresi yang digunakan dalam. `expression`

## Contoh
<a name="js-id18"></a>

Contoh berikut adalah bagian filter untuk permintaan, di mana entri diambil dari DynamoDB hanya dikembalikan jika judul dimulai dengan argumen. `title` 

Di sini kita menggunakan `util.transform.toDynamoDBFilterExpression` untuk secara otomatis membuat filter dari objek:

```
const filter = util.transform.toDynamoDBFilterExpression({
  title: { beginsWith: 'far away' },
});

const request = {};
request.filter = JSON.parse(filter);
```

Ini menghasilkan filter berikut:

```
{
  "filter": {
    "expression": "(begins_with(#title,:title_beginsWith))",
    "expressionNames": { "#title": "title" },
    "expressionValues": {
      ":title_beginsWith": { "S": "far away" }
    }
  }
}
```