如何在从 bigTable 获取数据时添加限制选项?有人可以给我在 NodeJS 中这样做的正确语法吗

How to add limit options while fetching data from bigTable ? Can someone give me the proper syntax to do so in NodeJS

目前我是这样做的

var [rowData] = await table.row(key).get({limit: 2});

我仍然得到 4 个结果,而不是 2 个。

如果您希望在单独的行中获得 2 列,有几种方法可以使用过滤器来实现。

您可以使用每行单元格过滤器:

const filter = {
    row: {
      cellLimit: 2,
    },
};

await table
    .createReadStream({
    filter,
    })
    .on('error', err => {
    // Handle the error.
    console.log(err);
    })
    .on('data', row => {
    // Use the row data.
    })
    .on('end', () => {
    // All rows retrieved.
    });

您也可以按列筛选单元格:

const filter = {
    column: {
      cellLimit: 2,
    },
};

Bigtable 过滤器的文档仍然是一个 WIP,但是 here are a set of code samples 有各种过滤器可以用于您的读取。

我不相信你可以用单行获取来做一个过滤器,但你可以创建一个只读取那个行键的扫描,它实际上是一样的。如果您在这个问题上需要更多支持,请告诉我。

为我工作:

var filter = [
      {
         family: 'payloads'
      },
      {
         row: {
                key: identifier,
                cellLimit:2
         }
      }
];