如何在 Node.js 中使用 DynamoDB 扫描操作获取整个表数据



表名:用户 不。行数 : 100000

如何在node.js的帮助下使用扫描操作获取所有记录。

var params = {
TableName:"users"};
docClient.scan(params, (error, result) => {
if (error) {
console.log('error', error);
} else {
console.log(result.Items); // x items
}
});

但它只显示部分数据。 不是整个表数据。

您可以在请求中使用 eachPage 函数。

docClient.scan(params).eachPage((err, data, done) => { ... })

您还可以使用从一次扫描结果中获得的 lastEvaluatedKey 作为下一次扫描的独占起始键。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination

var docClient = new AWS.DynamoDB.DocumentClient();
var params = {
TableName: "tableName"
};
var count = 0;
docClient.scan(params).eachPage((err, data, done) => {
if (data != null) {
for (let index = 0; index < data.Items.length; index++) {
const element = data.Items[index];
count++;
console.log("TOTAL::> " + count + " ITEM::> " + index + " DATA:: " + JSON.stringify(element));
}
}
done();
});

最新更新