Tablestore Node.js SDK の `updateRow` メソッドを呼び出して、Tablestore テーブル内の 1 行のデータを更新します。属性列の値を変更したり、新しい属性列を追加したり、特定のバージョンのデータを削除したり、属性列全体を削除したりできます。
前提条件
メソッド
updateRow: function updateRow(params, callback)
例
以下のサンプルコードでは、`test_table` テーブル内のプライマリキーが `row1` の行について、属性列 `col1` の値を `changed_val1` に更新します。
var params = {
tableName: 'test_table',
primaryKey: [{ 'id': 'row1' }],
// 行を更新するには更新条件が必要です。TableStore.RowExistenceExpectation.IGNORE は、行の存在チェックを行わないことを意味します。
condition: new TableStore.Condition(TableStore.RowExistenceExpectation.IGNORE, null)
};
params.updateOfAttributeColumns = [
{ 'PUT': [{ 'col1': 'changed_val1' }] }
]
client.updateRow(params, function (err, data) {
if (err) {
console.log('行の更新に失敗しました。エラー:', err);
return;
}
console.log('RequestId: ', data.RequestId);
console.log('読み取り CU コスト: ', data.consumed.capacityUnit.read);
console.log('書き込み CU コスト: ', data.consumed.capacityUnit.write);
});
また、以下の行単位の操作も実行できます。
-
属性列を追加します。
params.updateOfAttributeColumns = [ { 'PUT': [{ 'col2': 'val2' }] } ] -
属性列のバージョン番号を設定します。
params.updateOfAttributeColumns = [ { 'PUT': [{ 'col2': 'val2', 'timestamp': Date.now() }] } ] -
属性列から特定のバージョンのデータを削除します。
params.updateOfAttributeColumns = [ { 'DELETE': [{ 'col2': TableStore.Long.fromNumber(1496826473186) }] }, ] -
属性列からすべてのデータを削除します。
params.updateOfAttributeColumns = [ { 'DELETE_ALL': ['col2'] } ]