2016-02-23 70 views
1

我已经在数据库元素的列表,看起来像这样:如何删除特定项目在DynamoDB

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

我想删除根据项目特点的项目之一(例如item.id

如何使用条件表达式来做到这一点?从我读过的,你只能使用列表索引删除列表元素:

REMOVE MyNumbers[1], MyNumbers[3] 

我该如何使用UpdateExpression/ConditionExpression来代替?

回答

2

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

在你的情况,你可能需要做的getItem搜索删除目标的指数和指数的updateItem删除列表项。

您也可以考虑改变列表来进行映射和使用商品的ID为关键。

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

这样你就可以只使用一个DB更新命令删除的记录。

remove inventory.items.1 
相关问题