[英]AWS DynamoDB Scan | Scan if array of keys exists in a map
我正在使用 DynamoDB 来存储用户信息。 每个用户都有一个以爱好为键,以一些文本为值的地图,例如:
{'fishing': 'Its fun!', 'running': 'Its healthy!'}
现在,我想为有特定爱好的用户扫描我的表:
['dancing', 'fishing', 'cooking']
问题:是否可以scan
DynamoDB 表以检查映射中的键是否存在?
如果 hobbies 属性是 StringSet,那么您可以进行如下扫描:
{
"TableName": "tbl_name",
"FilterExpression": "( contains(hobbies, :hobby1) ) OR ( contains(hobbies, :hobby2) ) )",
"ExpressionAttributeValues": {
":hobby1": {
"S": "dancing"
},
":hobby2": {
"S": "fishing"
},
}
}
是的,可以扫描 DynamoDB 表以检查映射中的键是否存在。
假设您在 dynamoDB 中的条目如下所示:
{
"userId" : 123,
"hobbyMap" : {
"fishing" : "Its fun!",
"running" : "Its healthy!"
}
}
您可以编写的过滤器表达式是:
FilterExpression : "attribute_exists(hobbyMap.dancing) OR attribute_exists(hobbyMap.fishing) OR attribute_exists(hobbyMap.cooking)"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.