Node.js 使用多条件dynamodb过滤数据
如何使用dynamodb中的多个条件过滤数据 我想使用扫描方法按发布日期和地区筛选表Node.js 使用多条件dynamodb过滤数据,node.js,express,amazon-dynamodb,Node.js,Express,Amazon Dynamodb,如何使用dynamodb中的多个条件过滤数据 我想使用扫描方法按发布日期和地区筛选表 var params = { TableName: table, KeyConditionExpression : 'post_date = :today_date', FilterExpression : 'post_date = :today_date and district = :district', ExpressionAttributeValues : {
var params = {
TableName: table,
KeyConditionExpression : 'post_date = :today_date',
FilterExpression : 'post_date = :today_date and district = :district',
ExpressionAttributeValues : {
':today_date' : today_date,
':district' : district
}
};
let queryExecute = new Promise((res, rej) => {
dynamoDB.scan(params, function (err, data) {
if (err) {
console.log("Error", err);
rej(err);
} else {
console.log("Success! scan method fetch data from dynamodb");
res(JSON.stringify(data, null, 2));
}
});
});
您可以使用扫描操作筛选多个属性:
var params= {
TableName: "YOUR TABLE NAME",
FilterExpression : 'post_date = :today_date and district = :district',
ExpressionAttributeValues : {
':today_date' : today_date,
':district' : district
}
}
您的示例包括一个KeyConditionExpression
,该表达式在scan
操作中不受支持。如果知道所需项目的主键,则应使用查询
操作
当您希望在表中的所有分区中进行搜索时,可以使用scan
操作。如果要在特定分区中搜索什么,则使用query
操作
由于您试图执行扫描
操作,因此需要删除KeyConditionExpression