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

时间:2018-09-10 12:48:04

标签: amazon-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
    }
});

,但仅显示部分数据。不是整个表格数据。

2 个答案:

答案 0 :(得分:3)

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

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

您还可以将从一次扫描结果中获得的lastEvaluatedKey用作下一次扫描的ExclusiveStartKey。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination

答案 1 :(得分:0)

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();
});