: -
ADDは - 属性が存在しない場合は、属性とその値がアイテムに追加されます。属性が存在する場合、 ADDの動作は属性のデータ型に依存します。
既存のデータ型がセットであり、値もセットの場合は、 に値が追加されます。既存のセット。たとえば、属性値が のセット[1,2]であり、ADDアクションが指定された[3]の場合、最後の 属性値は[1]になります(これは一連の操作で、 は数学的な加算ではありません) 2,3]。追加アクションがセット属性に対して が指定され、指定された属性タイプが が既存のセットタイプと一致しない場合、エラーが発生します。両方のセットは同じ プリミティブデータ型を持たなければなりません。たとえば、既存のデータ型が文字列の に設定されている場合、Valueは文字列のセットでなければなりません。数字セットとバイナリセットの場合も同様です。
例: -
最初の更新: -
country
属性がテーブルに存在しません。 updateItem
は、値が(IN、UK)の新しい属性country
を作成しました。
var params = {
TableName : "Movies",
Key : {
"yearkey" : 2014,
"title" : "The Big New Movie 2"
},
UpdateExpression : "ADD country :countries",
ExpressionAttributeValues: {
':countries': docClient.createSet(["IN", "UK"])
},
ReturnValues : "UPDATED_NEW"
};
セカンドアップデート: -
はこの時間updateItem
は、 "米国の" 新たな価値を追加し、既存の値 "IN" を無視していました。
var params = {
TableName : "Movies",
Key : {
"yearkey" : 2014,
"title" : "The Big New Movie 2"
},
UpdateExpression : "ADD country :countries",
ExpressionAttributeValues: {
':countries': docClient.createSet(["IN", "US"])
},
ReturnValues : "UPDATED_NEW"
};