2016-02-23 94 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 
相關問題