如何获取/扫描所有项目AWS dynamodb
using node.js
。我在这里发布我的代码。
var docClient = new aws.DynamoDB.DocumentClient();
var params = {
TableName:"users",
KeyConditionExpression:"user_status=:status",
ExpressionAttributeValues: {
":status": "Y"
}
};
var queryExecute = function(callback) {
docClient.query(params,function(err,result) {
if(err) {
console.log(err)
callback(err);
} else {
console.log(result);
if(result.LastEvaluatedKey) {
params.ExclusiveStartKey = result.LastEvaluatedKey;
queryExecute(callback);
} else {
callback(err,items);
}
}
});
}
queryExecute(callback);
这给了我以下错误。
ValidationException: Query condition missed key schema element: `user_id`.
这里的主键是user_id。我不想将它与我的查询条件一起使用,因为如果我在中提到主键,我需要设置一个值KeyConditionExpression
。也许我错了。但是,请建议我一种从以下位置获取所有项目的好方法dynamodb
,这是有user_status = "Y"
这对我有用:
export const scanTable = async (tableName) => {
const params = {
TableName: tableName,
};
const scanResults = [];
let items;
do{
items = await documentClient.scan(params).promise();
items.Items.forEach((item) => scanResults.push(item));
params.ExclusiveStartKey = items.LastEvaluatedKey;
}while(typeof items.LastEvaluatedKey !== "undefined");
return scanResults;
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)