读取单行数据

更新时间:
复制为 MD 格式

本文介绍如何通过 Node.js SDK 读取表格存储数据表的单行数据。

注意事项

读取数据时需要提供包含自增主键列值在内的完整主键值。

前提条件

初始化Tablestore Client

方法说明

getRow: function getRow(params, callback)

params参数说明

名称

类型

说明

tableName(必选)

string

数据表名称。

primaryKey(必选)

Array

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

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

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

maxVersions(可选)

number

最大版本数,默认值为1。

  • 如果符合查询条件的数据版本数量超过设置的最大版本数,按从新到旧的顺序返回指定版本数量的数据。

timeRange(可选)

object

数据版本范围。

  • 表格存储数据表的每个属性列可以有不同的数据版本,设置版本范围后,仅返回版本范围内的数据。

columnsToGet(可选)

Array

指定读取的数据列,可以是主键列或属性列。

  • 不设置columnsToGet时,返回整行数据。

  • 设置columnsToGet时,如果读取的行数据不包含任何指定的数据列,将返回 null。

columnFilter(可选)

TableStore.ColumnCondition

过滤条件,详情请参见过滤器

  • 如果同时设置columnsToGetcolumnFilter,先按columnsToGet筛选符合条件的数据行,再按columnFilter条件过滤数据。

transactionId(可选)

string

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

示例代码

以下示例代码读取了主键值为 row1 的单行数据。

var params = {
    tableName: 'test_table',
    primaryKey: [{ 'id': 'row1' }]
};

client.getRow(params, function (err, data) {
    if (err) {
        console.log('Get row failed with error: ', err);
        return;
    }
    console.log('Read CU Cost: ', data.consumed.capacityUnit.read);
    console.log('Write CU Cost: ', data.consumed.capacityUnit.write);
    console.log('Row Data: ', JSON.stringify(data.row));
});
  • 设置读取的数据版本范围,结果只返回版本范围内的数据。

    params.timeRange = {
        startTime: (Date.now() - 86400 * 1000).toString(),
        endTime: Date.now().toString()
    }
  • 指定读取的属性列。

    params.columnsToGet = ['col2']

相关文档