Filter - AWS AppSync

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

Filter

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 DynamoDB. 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 dalamexpression, dan nilainya harus berupa nilai yang diketik. Untuk informasi selengkapnya tentang cara menentukan “nilai yang diketik”, lihat Mengetik sistem (pemetaan permintaan). Ini harus ditentukan. Bidang ini bersifat opsional, dan seharusnya hanya diisi dengan substitusi untuk placeholder nilai atribut ekspresi yang digunakan dalam. expression

Contoh

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