Как мы можем получить все элементы, вызвав Dynamodb.query?
В документации говорится, что нам нужно искать наличие LastEvaluatedKey
.Просто интересно, как мы могли бы эффективно объединить все элементы ?
app.get(path, function (req, res) {
var allItems = [];
var params = {
TableName: tableName,
"IndexName": "status-index",
"KeyConditionExpression": "#attrib_name = :attrib_value",
"ExpressionAttributeNames": { "#attrib_name": "status" },
"ExpressionAttributeValues": { ":attrib_value": req.query.status },
"ScanIndexForward": false
};
dynamodb.query(params, onQuery);
function onQuery(err, data) {
if (err) {
res.json({ error: 'Could not load items: ' + err });
} else {
// Should I be aggregating all the items like this?
allItems = allItems.concat(data.Items);
// Then should I set it to res like this to return all the items?
res.json(allItems);
if (typeof data.LastEvaluatedKey != 'undefined') {
params.ExclusiveStartKey = data.LastEvaluatedKey;
dynamodb.query(params, onQuery);
}
}
}
});
Пожалуйста, посмотрите комментарии в коде.Вот где я думаю, что нам нужно иметь соответствующий код для агрегирования всех элементов и возврата ответа .
Я пока не нашел способа отладить это, так как я довольноновинка для DynamoDB и AWS Amplify.Позвольте мне также узнать, есть ли более простой способ отладки в API-интерфейсе GET с резервной копией AWS.