如何删除DynamoDB中的特定项目

时间:2016-02-23 08:58:06

标签: amazon-dynamodb

我有一个数据库中的元素列表,如下所示:

User
---inventory(Map)
------items(List)
---------item0(Map)
---------item1(Map)
---------item2(Map)  

我想根据商品特征(例如item.id

删除其中一个商品

如何使用条件表达式执行此操作?根据我的阅读,您只能使用列表索引删除列表元素:

REMOVE MyNumbers[1], MyNumbers[3]

如何使用UpdateExpression / ConditionExpression执行此操作?

1 个答案:

答案 0 :(得分:2)

我相信ConditionExpression仅用于决定是否运行/跳过整个更新命令。

在您的情况下,您可能需要执行getItem来搜索remove target的索引并在updateItem上按索引删除列表项。

您还可以考虑将列表更改为地图,并使用项目ID作为密钥。

{
  inventory: {
    items :{
       1 : { name : item1...},
       2 : { name : item1...},
      }
  }
}

这样您就可以使用一个db update命令删除记录。

remove inventory.items.1