如果要在不使用哈希键值的情况下从DynamoDB获取数据,则需要使用
Scan API。
注意: Scan API读取表中的所有项目以获取结果。因此,这在DynamoDB中是一项昂贵的操作。
替代方法: 使用GSI
扫描以上场景的代码:-
var docClient = new AWS.DynamoDB.documentClient();var params = { TableName: "users", Filterexpression: "#user_status = :user_status_val", expressionAttributeNames: { "#user_status": "user_status", }, expressionAttributevalues: { ":user_status_val": 'somestatus' }};docClient.scan(params, onScan);var count = 0;function onScan(err, data) { if (err) { console.error("Unable to scan the table. Error JSON:", JSON.stringify(err, null, 2)); } else { console.log("Scan succeeded."); data.Items.forEach(function(itemdata) {console.log("Item :", ++count,JSON.stringify(itemdata)); }); // continue scanning if we have more items if (typeof data.LastevaluatedKey != "undefined") { console.log("Scanning for more..."); params.ExclusiveStartKey = data.LastevaluatedKey; docClient.scan(params, onScan); } }}


