簡體   English   中英

AWS DynamoDB 掃描 | 掃描地圖中是否存在鍵數組

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM