【问题标题】:DynamoDB - Best approach to apply limit after scanDynamoDB - 扫描后应用限制的最佳方法
【发布时间】:2019-09-26 00:29:12
【问题描述】:

我正在 DynamoDB 表中执行扫描功能,它运行良好。现在,我想限制应用过滤器后的结果。

我了解到,当我将 FilterExpression 和 Limit 结合使用时,DynamoDB 将先应用 Limit,然后再应用 FilterExpression。

有可能做一些相反的事情吗?第一个过滤器比应用限制?我试图避免在代码上这样做,因为它会返回比我需要的更多的数据。

【问题讨论】:

    标签: amazon-dynamodb


    【解决方案1】:

    在 DynamoDB 中没有解决方案,因为它不是为此类操作而设计的。

    您可以改为使用 LastEvaluatedKey 对结果进行模拟过滤,尽管这也不是一种有效的操作,并且可能导致全表扫描。

    查询操作可以返回一个空的结果集和一个 LastEvaluatedKey 如果为结果页面读取的所有项目都是 过滤掉。

    要获取匹配项的完整计数,请使用 LastEvaluatedKey 来自上一个请求的值并将其用作 ExclusiveStartKey 下一个请求中的值。重复此操作,直到 DynamoDB 不再 返回 LastEvaluatedKey 值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多