J'essaie de faire un scan de table sur dynamodb Voici le code qui est en 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
});
Mais je ne pouvais pas essayer la même chose avec Botot3.
Ci-dessous, ce que j'ai pu réaliser jusqu'à présent
response = table.scan(
Select= 'ALL_ATTRIBUTES',
FilterExpression=Attr('CustomerName').begins_with("S")
)
Je ne comprenais pas comment ajouter la condition OR. Si j'ajoute, cela montre une erreur
Pour AND '&' est utilisé et pour OR '|' est utilisé
response = table.scan(
Select= 'ALL_ATTRIBUTES',
FilterExpression=Attr('CustomerName').begins_with("S") | Attr('CustomerName').begins_with("S")
)
Vous pouvez créer une chaîne compare = ["a = b", "c begin_with val '], puis les joindre avec' et '.join (comparer)
en créant pour vous l'expression de filtre 'a = b et c begin_with val'