Dynamo db分页

时间:2019-05-10 09:44:12

标签: node.js amazon-dynamodb dynamodb-queries

我想使用 aws-sdk dropdownRef在dynamodb中使用分页 我正在使用node.js。

我想做的是先获取10个项目,然后将这些值返回给用户。在该用户发出新请求后,他告诉服务器从10开始,服务器从10到20再获得10,然后将响应返回。我已经尝试过DocumentClient(),但是我的情况有所不同。我有什么方法可以告诉dynamodb从特定项目开始,例如1,然后设置LastEvaluatedKey

1 个答案:

答案 0 :(得分:0)

我找到了解决此问题的方法。您需要从dynamodb响应中获取LastEvaluatedKey并将其发送回前端,然后您的前端应以参数形式发送LastEvaluatedKey并将其用作ExclusiveStartKey

getItems(pageSize, lastItem?) {
    try {
      const params = {
        TableName: 'User',
        Limit: pageSize,
      };
      if (lastItem) {
        params.ExclusiveStartKey = { item_id: lastItem};
      }
      const response = await dynamoDb.scan(params).promise();
      return {
         items: response.Items,
         lastItem: response.LastEvaluatedKey
      }

    } catch (error) {
      throw error;
    }