我想使用 aws-sdk 在 dynamodb 中使用分页 DocumentClient()
我正在使用node.js。
我想要做的是获取前 10 项,然后将这些值返回给用户。在该用户发出新请求后,他告诉服务器从 10 开始,服务器从 10 到 20 获取其他 10 个,然后返回响应。我已经尝试了 LastEvaluatedKey
但我的情况有所不同。有什么方法可以告诉 dynamodb 从特定项目开始,例如 1,然后设置 Limit: 10
。
最佳答案
我找到了解决这个问题的方法。您需要从 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;
}
关于node.js - Dynamo 数据库分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56074919/