在单个 transaction/api 调用中将数据从一列移动到另一列
Move data from one column to another in a single transaction/api call
我正在使用 NodeJs library for bigtable。
我有两列。列 A 和列 B。
在单个call/transaction中,我想将ColumnA中的数据移动到ColumnB中,同时删除ColumnA中的数据。
我可以分 3 个步骤完成:
1.. Get 来自 bigtable 的 ColumnA
2..Update 列 B
3..Delete 列 A
但我想知道是否可以在一次调用(最好是一次事务)中完成所有这些步骤?
谢谢
您可以通过批量突变将这三个 API 调用变成两个,但是在执行突变时无法获取值。
按照此示例在同一个批量变更中更新和删除,但请注意操作是非原子的
const entries = [
{
method: 'insert',
key: 'your#key',
data: {
yourQualifier: {
ColB: ColAValue
}
}
}, {
method: 'delete',
key: 'your#key',
data: [
'yourQualifier:ColA'
]
}
];
table.mutate(entries, callback);
有关详细信息,请查看 Cloud Bigtable writing data documentation and the write concept 页面。
我正在使用 NodeJs library for bigtable。
我有两列。列 A 和列 B。
在单个call/transaction中,我想将ColumnA中的数据移动到ColumnB中,同时删除ColumnA中的数据。
我可以分 3 个步骤完成:
1.. Get 来自 bigtable 的 ColumnA
2..Update 列 B
3..Delete 列 A
但我想知道是否可以在一次调用(最好是一次事务)中完成所有这些步骤?
谢谢
您可以通过批量突变将这三个 API 调用变成两个,但是在执行突变时无法获取值。
按照此示例在同一个批量变更中更新和删除,但请注意操作是非原子的
const entries = [
{
method: 'insert',
key: 'your#key',
data: {
yourQualifier: {
ColB: ColAValue
}
}
}, {
method: 'delete',
key: 'your#key',
data: [
'yourQualifier:ColA'
]
}
];
table.mutate(entries, callback);
有关详细信息,请查看 Cloud Bigtable writing data documentation and the write concept 页面。