本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
筛选条件
在使用 Query
和 Scan
操作查询 DynamoDB 中的对象时,您可以选择指定 filter
以评估结果并仅返回所需的值。
Query
或 Scan
映射文档的筛选映射部分具有以下结构:
"filter" : { "expression" : "filter expression" "expressionNames" : { "#name" : "name", }, "expressionValues" : { ":value" : ... typed value }, }
字段定义如下:
-
expression
-
查询表达式。有关如何编写筛选表达式的更多信息,请参阅 DynamoDB 和 Dynam QueryFilter oDB 文档。 ScanFilter必须指定该字段。
-
expressionNames
-
以键值对形式替换表达式属性名称 占位符。键对应于
expression
中使用的名称占位符。该值必须是与 DynamoDB 中的项目的属性名称对应的字符串。该字段是可选的,只应填充expression
中使用的表达式属性名称占位符的替换内容。 -
expressionValues
-
以键值对形式替换表达式属性值 占位符。键对应于
expression
中使用的值占位符,而值必须为类型化值。有关如何指定“类型化值”的更多信息,请参阅类型系统(请求映射)。必须指定此值。该字段是可选的,只应填充expression
中使用的表达式属性值占位符的替换内容。
示例
以下示例是映射模板的筛选条件部分,其中,只有在标题以 title
参数开头时,才会返回从 DynamoDB 中检索的条目。
"filter" : { "expression" : "begins_with(#title, :title)", "expressionNames" : { "#title" : "title" }, "expressionValues" : { ":title" : $util.dynamodb.toDynamoDBJson($context.arguments.title) } }