node.js - 如何限制 AWS 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
限制被扫描的项目数量,不返回)。
如何限制退回商品的数量(满足我的条件)?
解决方案
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
你认为这是做什么的:“读取整个表,找到满足过滤器的行,然后返回最多 100 个”
Dynamo 做了什么:“读取 100 行,找到满足过滤器的行,然后返回它们”
我认为你需要一个索引:)
推荐阅读
- prestashop - Prestashop 管理员性能页面和信息页面说未找到
- google-maps-api-3 - 正常工作后 OVER_QUERY_LIMIT Google Maps API
- c# - 如何使用带有 3 个连接表的选择查询将数据加载到 DataGridView 和 TextBoxes 中?
- asp.net - 找不到方法:'无效 Microsoft.Reporting.WebForms.ReportViewer.Reset()'
- symfony - Symfony 将文件路径获取到树枝模板中,该文件位于 customBundle:Resources:views 中而不是 web dir
- c# - 发布请求 alidate 验证码 c#
- node.js - 我的 Angular 6 应用程序无法使用 Express API
- arrays - Array.Reduce 上的类型错误
- java - Spring JPA 存储库查询返回 null
- java - 将 Spring-boot 应用程序部署到 Weblogic:出现错误