2017-03-16 28 views
2

DynamoDBのリスト/配列から値を削除しようとしています。リスト/配列値の検索と削除DynamoDB

私は値のインデックスを削除する必要があるREMOVEを使用する必要があることを理解しています。

特定の値のインデックスを見つけて、単一のupdateItemで値を削除することはできますか?

もしそうでない場合、このアクションを実行する最も良い方法は何ですか?

非常に高く評価されています。

答えて

2

DynamoDBのリストからこのようなアトミックな削除を行うことはできないようです。つまり、リストからアイテムを削除するには、アイテムのインデックスを最初に見つけなければなりません。単一のUpdateItem操作で両方のステップを実行することは不可能です。アイテムを最初に読んでから、更新を実行します。 NS(数セット)、SS(文字列のセット)、BS(バイナリセット):


このようなアトミック値あなたが探しているとしてアクションを削除するには、セットのみで可能です。

UpdateItemでDELETEアクションを使用する場合は、削除し 値のリストを指定する必要があり、あなたが実際に、セットは順不同コレクションです(アクションを実行する前に、そのインデックスを見つける必要がないので、要素はありませんインデックス)

したがって、ユースケースでリストの代わりにセットを使用できる場合は、そうすることをお勧めします。 (セットとリストの違いは、セットには同じタイプの順序付けられていない一意の要素が含まれますが、リストはデータ型に制限のない値の順序付きコレクションです)

+0

ありがとうございました。明らかに。 –

関連する問題