本文介绍如何通过 Node.js SDK 批量读取表格存储中的数据,支持查询多个表的数据。
注意事项
单次批量读取操作最多支持读取 100 行数据。
前提条件
方法说明
batchGetRow: function batchGetRow(params, callback)示例代码
以下示例代码用于读取 test_table 表中主键值为 row1 和 row2 的两行数据。
var table = {
// 设置表名称
tableName: 'test_table',
primaryKey: [
// 添加第 1 行主键信息
[{ 'id': 'row1' }],
// 添加第 2 行主键信息
[{ 'id': 'row2' }]
]
};
var params = {
tables: [
table
]
}
// 调用 batchGetRow 方法进行批量数据查询
client.batchGetRow(params, function (err, data) {
if (err) {
console.log('Batch get row failed with error: ', err);
return;
}
// 返回结果处理
console.log('* RequestId: ', data.RequestId);
console.log('* Rows Data: ');
data.tables.forEach(function (rows) {
rows.forEach(function (row) {
if (row.isOk) {
console.log('Succeeded Row:', row.tableName, JSON.stringify(row.primaryKey), JSON.stringify(row.attributes));
} else {
console.log('Failed Row:', row.tableName, row.errorMessage);
}
});
});
});您可以在批量读取数据时参考以下示例代码进行参数设置。
读取多张表的数据。批量读取支持一次读取多张表的数据,您需要为每张表指定查询条件。
var table1 = { tableName: 'orders_small', primaryKey: [ [{ 'order_id': '90fb478c-1360-11f0-a34d-00163e30a2a9' }] ] }; var params = { tables: [ table, table1 ] };设置读取的数据版本范围,结果只返回版本范围内的数据。
// 设置查询的数据版本范围为当前时间往前一天 table.timeRange = { startTime: (Date.now() - 86400 * 1000).toString(), endTime: Date.now().toString() }指定读取的属性列。
table.columnsToGet = ['col2']
相关文档
该文章对您有帮助吗?