amazon-dynamodb - DynamoDB - 扫描后应用限制的最佳方法
问题描述
我正在 DynamoDB 表中执行扫描功能,它运行良好。现在,我想限制应用过滤器后的结果。
我已经读过,当我结合使用 FilterExpression 和 Limit 时,DynamoDB 将应用 Limit 然后是 FilterExpression。
有可能做一些相反的事情吗?第一个过滤器比应用限制?我试图避免在代码上这样做,因为它会返回比我需要的更多的数据。
解决方案
DynamoDB 中没有解决方案,因为它不是为此类操作而设计的。
您可以改为使用 LastEvaluatedKey 对结果进行模拟过滤,尽管这也不是一种有效的操作,并且可能导致全表扫描。
如果为结果页面读取的所有项目都被过滤掉,则 Query 操作可以返回空结果集和 LastEvaluatedKey。
要获取匹配项的完整计数,请从上一个请求中获取 LastEvaluatedKey 值,并将其用作下一个请求中的 ExclusiveStartKey 值。重复此操作,直到 DynamoDB 不再返回 LastEvaluatedKey 值。
推荐阅读
- python - Databricks 无法识别所有 Oracle 转换
- excel - VBA连接来自数据转储的多个范围
- java - 未找到 AbstractReactiveCouchbaseConfiguration
- r - 如何将 ggplot 用于一个绘图图形中的多行
- json - 如何使用 ansible 编写 json 文件
- bash - 更新 bash 脚本中的变量
- python - Tkinter 使用 grid_configure 调整标签大小
- html - 使用 beautifulsoup 进行数据抓取
- c# - 让picturebox每5分钟随机出现一次,如果玩家没有杀死它,它会在穿过游戏屏幕后消失
- r - 如何生成组合列表?