Как получить данные всей таблицы, используя операцию сканирования DynamodB в node.js - PullRequest
0 голосов
/ 10 сентября 2018

Название таблицы: пользователи нет. рядов: 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 голосов
/ 12 сентября 2018
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();
});
0 голосов
/ 10 сентября 2018

Вы можете использовать функцию eachPage по запросу.

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

Вы также можете использовать lastEvaluatedKey, полученный из результатов одного сканирования, в качестве exclusiveStartKey для следующего. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...