我正在尝试对dynamodb进行表扫描 以下是javascript中的代码
var params = {
TableName: 'Contacts',
FilterExpression: 'begins_with(CustomerName,:value)OR begins_with(CustomerName,:val) ',
ExpressionAttributeValues: {
':value': {'S':'S'},
':val':{'S':'E'},
},
Select: 'ALL_ATTRIBUTES',
};
dynamodb.scan(params, function(err, data) {
if (err) ppJson(err); // an error occurred
else ppJson(data); // successful response
});
但我无法使用botot3尝试相同的方法。
以下是我目前可以实现的目标
response = table.scan(
Select= 'ALL_ATTRIBUTES',
FilterExpression=Attr('CustomerName').begins_with("S")
)
我无法理解如何添加OR条件。如果我添加,则显示错误
答案 0 :(得分:17)
对于AND'&'用于和'''|'使用
response = table.scan(
Select= 'ALL_ATTRIBUTES',
FilterExpression=Attr('CustomerName').begins_with("S") | Attr('CustomerName').begins_with("S")
)
答案 1 :(得分:0)
你可以创建一个字符串compare = [“a = b”,“c starts_with val']然后用'和'连接它们.join(比较)
为您创建过滤器表达式'a = b和c starts_with val'