[英]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.