如何限制AWS DynamoDB扫描的项目数量?

时间:2018-11-28 20:44:17

标签: node.js amazon-web-services amazon-dynamodb

我正在使用node.js。

如果您查看此示例:

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html

它说:

aws dynamodb scan \
    --table-name Movies \
    --projection-expression "title" \
    --filter-expression 'contains(info.genres,:gen)' \
    --expression-attribute-values '{":gen":{"S":"Sci-Fi"}}' \
    --page-size 100  \
    --debug

page-size限制结果项的数量:

  

通常,AWS CLI自动处理分页;但是,在此示例中,CLI的--page-size参数限制了每页的项目数。

但是,如果您阅读了Node.js AWS文档:

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#scan-property

没有与“页面大小”相关的参数。

(仅Limit限制了扫描的项目数,未返回)。

如何限制退货数量(满足我的条件)?

1 个答案:

答案 0 :(得分:0)

您似乎误读了文档,

限制结果集中的项目数

“扫描”操作允许您限制返回结果中的项目数。为此,请将“限制”参数设置为所需的最大项目数。

例如,假设您扫描一个限制值为6且没有过滤器表达式的表。扫描结果将包含表中与请求中的关键条件表达式匹配的前六个项目。

现在假设您将过滤器表达式添加到“扫描”。在这种情况下,DynamoDB会将过滤器表达式应用于返回的六个项目,并丢弃不匹配的项目。最终的扫描结果将包含6个或更少的项目,具体取决于被过滤的项目数。

在同一链接上,

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html

希望有帮助。