写入单行数据

更新时间:
复制为 MD 格式

本文介绍如何通过 Node.js SDK 在表格存储的数据表中写入单行数据。

前提条件

初始化Tablestore Client

方法说明

putRow: function putRow(params, callback)

params参数说明

名称

类型

说明

tableName(必选)

string

数据表名称。

primaryKey(必选)

Array

主键信息,包括主键列名称和主键值。

  • 主键列数据类型包括 STRING、INTEGER 和 BINARY。

  • 写入数据的主键个数和类型必须与数据表的主键保持一致。

  • 主键列为自增列时,需将该列的值设置为占位符,详情请参见主键列自增

attributeColumns(可选)

Array

属性列信息,包括属性列名称、属性列值和数据版本号。

  • 属性列数据类型包括 STRING、INTEGER、BINARY、DOUBLE 和 BOOLEAN。

  • 数据版本号即时间戳,默认由系统自动生成,也可以自行指定,详情请参见数据版本和生命周期

condition(必选)

TableStore.Condition

写入条件,详情请参见条件更新

returnContent(可选)

object

返回的数据内容。

  • returnType(可选)number:返回类型。

    • TableStore.ReturnType.NONE:默认值,不返回数据。

    • TableStore.ReturnType.Primarykey:返回主键列,可以用于主键列自增。

    • TableStore.ReturnType.AfterModify:返回更改后的列值,用于原子计数器

transactionId(可选)

string

局部事务ID,用于唯一标识局部事务,详情请参见局部事务

示例代码

以下示例代码在 test_table 表中写入一行数据,该行数据的主键值为 row1。

var params = {
    tableName: 'test_table',
    primaryKey: [{ 'id': 'row1' }],
    // 写入数据时必须指定写入条件 (TableStore.RowExistenceExpectation.IGNORE,表示不做行存在性判断)
    condition: new TableStore.Condition(TableStore.RowExistenceExpectation.IGNORE, null)
};

client.putRow(params, function (err, data) {
    if (err) {
        console.log('Put row failed with error: ', err);
        return;
    }
    console.log('* RequestId: ', data.RequestId);
    console.log('* Read CU Cost: ', data.consumed.capacityUnit.read);
    console.log('* Write CU Cost: ', data.consumed.capacityUnit.write);
});
  • 添加属性列。

    params.attributeColumns = [{ 'col1': 'val1' }];
  • 指定数据版本号,您可以为每个属性列指定单独的版本号。

    params.attributeColumns = [{ 'col1': 'val1', 'timestamp': Date.now() }];

相关文档

批量更新数据