2017-03-16 18 views
2

我想從DynamoDB中的列表/數組中刪除值。查找並刪除列表/數組值DynamoDB

我知道我需要使用REMOVE,它需要刪除值的索引。

是否有可能找到給定值的索引並刪除單個updateItem中的值?

如果不是,執行此操作的最佳方法是什麼?

非常感謝。

回答

2

看起來像不能從DynamoDB中的列表中進行此類原子級刪除。所以你是對的,要從列表中刪除一個項目,你必須首先找到該項目的索引,這是不可能在單個UpdateItem操作中完成這兩個步驟的。您先閱讀該項目,然後執行更新。


這樣的原子值刪除,你正在尋找的動作,只在套是可能的:NS(數位),SS(串集),BS(二進制集)。

當使用的updateItem DELETE行動,你必須指定 值的列表刪除,你沒有執行動作(實際上,設置是一個無序的集合,因此元素沒有之前找到自己的索引索引)

因此,如果您的用例允許使用集而不是列表,我會建議這樣做。 (集合和列表之間的區別是:集合包含無序的,同一類型的唯一元素,而列表是對數據類型沒有限制的值的有序集合)

+0

謝謝,我得到了那樣的印象,但是那麼多清晰。 –