【问题标题】:How to do backward pagination in dynamoDB with LastEvaluatedKey?如何使用 LastEvaluatedKey 在 dynamoDB 中进行反向分页?
【发布时间】:2020-02-18 12:25:18
【问题描述】:
  param.FilterExpression = "#black_listed = :black_listed_val";
  param.Limit = 5
  param.ExpressionAttributeValues = {":black_listed_val": body.blacklisted};
  param.ExpressionAttributeNames = {"#black_listed": "black_listed"}
  param.ScanIndexForward = true
  param.ExclusiveStartKey = {"id": "11931258-b582-4d2d-98d9-aa8ae0fe2e43"}

我可以用这段代码进行前向分页,但我怎么能回去呢?

【问题讨论】:

    标签: javascript node.js amazon-dynamodb dynamodb-queries dynamo-local


    【解决方案1】:

    要向后翻页,您需要将ScanIndexForward 设置为false ANDExclusiveStartKey 设置为第二个第一个项的键/strong> 页面。例如,假设您的第一页是项目 1、2 和 3。来自该页面的响应将包括一个用于 3 的 LastEvaluatedKey。您可以通过将其传递给 ExclusiveStartKey 来使用它继续前进,从而产生 4、5 & 6. 后退你不能这样做,因为使用相同的键只会导致 2 和 1。相反,你需要使用 4 的键作为ExclusiveStartKey

    【讨论】:

    • 我用 ScanIndexForward = true 和 ScanIndexForward = false 尝试了相同的查询。但是它返回的数据是相同的,并且顺序相同。
    【解决方案2】:

    改变

    param.ScanIndexForward = true
    

    param.ScanIndexForward = false
    

    【讨论】:

      猜你喜欢
      • 2019-10-13
      • 1970-01-01
      • 2017-08-03
      • 2012-11-24
      • 2012-10-21
      • 1970-01-01
      • 1970-01-01
      • 2017-08-04
      • 1970-01-01
      相关资源
      最近更新 更多