我很擅长使用DynamoDB。我想查询DynamoDB数据库中的特定列值,并使用NodeJS sdk获取与该特定列值匹配的数据
在这种情况下,已经部署了DynamoDB。
请建议如何使用Node JS实现此工作流程。
答案 0 :(得分:0)
最重要的是创建一个包含的JSON对象 查询表所需的参数,在本例中包含表名,即 查询所需的 ExpressionAttributeValues ,使用这些 KeyConditionExpression 用于定义查询返回的项的值,以及为每个项返回的属性值的名称 项目。调用 DynamoDB服务对象的查询方法。 这是一个用nodejs sdk查询dynamodb的例子
// Load the AWS SDK for Node.js
var AWS = require('aws-sdk');
// Set the region
AWS.config.update({region: 'REGION'});
// Create DynamoDB service object
var b = new AWS.DynamoDB({apiVersion: '2012-08-10'});
var params = {
ExpressionAttributeValues: {
':s': {N: '2'},
':e' : {N: '09'},
':topic' : {S: 'PHRASE'}
},
KeyConditionExpression: 'Season = :s and Episode > :e',
ProjectionExpression: 'Episode, Title, Subtitle',
FilterExpression: 'contains (Subtitle, :topic)',
TableName: 'EPISODES_TABLE'
};
b.query(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
data.Items.forEach(function(element, index, array) {
console.log(element.Title.S + " (" + element.Subtitle.S + ")");
});
}
});