javascript - 如何根据 onUpdate 事件更新 bigquery 中的数据

标签 javascript firebase google-bigquery

我正在将数据从 firebase 导入大查询,该查询在 onWrite 事件中运行良好并使用了 table.insert 函数。 现在我想在针对 onUpdate 事件的大查询中更新数据,但是 table.update 函数不可用并且不起作用。建议其他方式。 下面是我的代码

exports.updatetobigquery = 
functions.database.ref('/mn_users/{userId}/').onUpdate(event => {
  const dataset = 
bigquery.dataset('KHUSHUApp');//functions.config().bigquery.datasetname);

  const table = 
dataset.table('mn_users');//functions.config().bigquery.tablename);
      console.log('Uppercasing', event.data.val());
  return table.update({
    'id': event.data.key,
    'name': event.data.val().name,
    'email': event.data.val().email
  });

});

最佳答案

处理此问题的最佳方法:

  • BigQuery 具有更新数据的能力,但 BigQuery 是一个分析数据库,而不是针对更新优化的数据库。
  • 因此,如果您有其他实现目标的方法,请避免更新 BigQuery 中的数据。
  • 不更新,而是将新行发送到 BigQuery - 稍后在分析时删除重复数据并合并最新值。当您需要能够返回到每次状态更改并对其进行分析时,这种模式非常有用。

关于javascript - 如何根据 onUpdate 事件更新 bigquery 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45697346/

相关文章:

javascript - Node.js 应用程序中的阻塞功能

javascript - 如果我为我的 React 应用程序使用数据库,redux 有什么用?

google-bigquery - 使用 Farm_fingerprint 进行 Google 大查询

python - 如何在Python中的嵌套表中插入值?

sql - 使用计划查询运行 BigQuery 作业之前处理多个条件

javascript - 带/不带选择器参数的 jquery 和 jquery 委托(delegate)有什么区别?

javascript - 在 Javascript 中对 2D 数组/网格/项目表进行排序

javascript - Backbone JS - 获取属性

android - 如何将事件参数记录到 Firebase 控制台

android - Firebase ML 套件给出 FirebaseMLException : Waiting for the text recognition model to be downloaded. 请稍候