[英]DynamoDB Update Expression For list in a Map
我有以下 dynamoDB 架構:
{
"Id": {"N": "789"},
"ProductCategory": {"S": "Home Improvement"},
"productReviews": {
"M": {
"FiveStar": {
"L": [
{ "S": "Best product ever!" }
]
},
"FourStar": {
"L": [
{ "S": "Good product" },
{ "S": "Another Review" }
]
}
}
}
}
所以基本上我有一個 map productReviews
,它的鍵為 - “FourStar”、“FiveStar”、“TwoStar”等,價值為評論列表。
我想在此表中添加新評論,即如果出現五星級評論,我會將其添加/附加到productReviews
的“五星級”列表中。 如果 map 中不存在某個鍵,我想只是 append 的鍵值。
這在 DynamoDB 中是否可行,或者我必須自己合並列表,然后在每次寫入時更新。
如果你想要這個 model,你需要自己合並和更新。
將每個星值設為自己的項目可能更簡單(為它們提供所有相同的 PK,並帶有表示星值的 SK),因此您可以將它們作為單個項目直接更新為帶有 append 的字符串列表的單個項目。
根據您的訪問模式,您甚至可能希望每個評論都作為自己的項目(仍然在同一個 PK 下)。 例如,如果該項目隨着時間的推移收到一千條評論,那么如果您每次只能盲目地添加一個小項目,您就不想重復更新一個不斷增長的項目。
在檢索時,使用 PK 查詢仍然有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.