如何在从 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
}
}
];
目前我是这样做的
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
}
}
];