我想使用 aws-sdk dropdownRef
在dynamodb中使用分页
我正在使用node.js。
我想做的是先获取10个项目,然后将这些值返回给用户。在该用户发出新请求后,他告诉服务器从10开始,服务器从10到20再获得10,然后将响应返回。我已经尝试过DocumentClient()
,但是我的情况有所不同。我有什么方法可以告诉dynamodb从特定项目开始,例如1,然后设置LastEvaluatedKey
。
答案 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;
}