目前我正在做这样的
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,但这里有一组代码示例,其中包含各种过滤器,您可以在读取时使用。
我不相信你可以用一个单行get来做过滤器,但你可以创建一个只读取该行键的扫描,它实际上是一样的。如果你在这个问题上需要更多的支持,请告诉我。
为我工作:
var filter = [
{
family: 'payloads'
},
{
row: {
key: identifier,
cellLimit:2
}
}
];