Amazon dynamodb 如何删除DynamoDB中的特定项

Amazon dynamodb 如何删除DynamoDB中的特定项,amazon-dynamodb,Amazon Dynamodb,我在数据库中有一个元素列表,如下所示: User ---inventory(Map) ------items(List) ---------item0(Map) ---------item1(Map) ---------item2(Map) 我想根据项目特征(例如item.id)删除其中一个项目 我如何使用条件表达式来实现这一点?据我所知,您只能使用列表索引删除列表元素: REMOVE MyNumbers[1], MyNumbers[3] 如何使用UpdateExpression/Con

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

User
---inventory(Map)
------items(List)
---------item0(Map)
---------item1(Map)
---------item2(Map)  
我想根据项目特征(例如
item.id
)删除其中一个项目

我如何使用条件表达式来实现这一点?据我所知,您只能使用列表索引删除列表元素:

REMOVE MyNumbers[1], MyNumbers[3]

如何使用UpdateExpression/ConditionExpression来实现这一点?

我认为ConditionExpression仅用于决定是否运行/跳过整个update命令

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

您还可以考虑更改列表以映射并使用项ID作为键。

{
  inventory: {
    items :{
       1 : { name : item1...},
       2 : { name : item1...},
      }
  }
}
这样,您只需使用一个db update命令即可删除记录

remove inventory.items.1