node.js - 如何限制 AWS DynamoDB 扫描的项目数量?

标签 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 限制了结果项的数量:

Ordinarily, the AWS CLI handles pagination automatically; however, in this example, the CLI's --page-size parameter limits the number of items per page.

但是如果您阅读 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 行,找到满足过滤器的行,并返回它们”

我想你需要一个索引:)

关于node.js - 如何限制 AWS DynamoDB 扫描的项目数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53527792/

相关文章:

node.js - 如何使提交的表单在出现在索引页上之前经过批准

python-3.x - 如何为 Lex 机器人运行时获取 PostText API 调用的授权用户

amazon-web-services - AWS EKS "is not authorized to perform: iam:CreateServiceLinkedRole"

amazon-dynamodb - dynamodb 中的查询是否保留插入顺序?

amazon-dynamodb - Dynamodb全局索引查询所有属性

node.js - Elasticsearch搜索解析异常,但返回结果

javascript - Web Worker 和 Worker Threads 有什么区别?

node.js - K8s pod 内存高于进程要求

amazon-web-services - AWS Batch 作业 - 设备上没有剩余空间,但已启用 EBS 自动扩展

amazon-dynamodb - DynamoDB 还原后的分区数是多少?