2012-03-03 9 views
6

DynamoDBオブジェクト内の配列にアイテムを追加する最も効率的な方法を検討しています。現在、配列に何かをアトミックに追加する唯一の方法は、バージョン管理されたアプローチを使用することです:更新するフィールドを取得し、値を追加/削除し、行の「バージョン」フィールドで条件付き更新を行います。しかし、これは私にとって非常に効率的ではありません。それを行うためのより良い方法はありますか?Amazon DynamoDBの配列にアイテムを追加/削除する

答えて

11

UpdateItem操作には、追加アクションと削除アクションの両方があります。セットで使用すると、アクションはセットから指定された値を追加/削除します。数字に使用すると、Addアクションは数字をアトミックに増減します。

DynamoDBは実際には配列ではなくセットをサポートしていることを覚えておくことが重要です。このため、値の追加または削除は本質的に原子的です。

+0

もちろん、セットと配列は意味的に異なるので、順序が重要でないか、再構築できるのであれば、確かに行く方法です – tddmonkey

関連する問題