比较Firebase数据库的云函数触发onCreate(),onWrite(),onUpdate(),何时使用?

时间:2017-08-17 18:18:56

标签: firebase firebase-realtime-database google-cloud-functions

这是一个简单的问题,我已经在documentation的标题中看到了所有这些方法,但所有示例都使用onWrite()来触发数据库事件,然后必须检查这些事件。确定它不是用

删除或更新
exports.makeUppercase = functions.database.ref('/messages/{pushId}/original')
    .onWrite(event => {
...
  // Only edit data when it is first created.
      if (event.data.previous.exists()) {
        return;
      }
      // Exit when the data is deleted.
      if (!event.data.exists()) {
        return;
      }
...
});

例如,onCreate()的唯一示例与auth事件有关。有原因还是我只是偏执狂?为什么不使用onCreate()而不打扰检查呢?

1 个答案:

答案 0 :(得分:3)

2017年7月7日在Firebase SDK for Cloud Functions(v0.5.9)版本中添加了

onCreate()onUpdate()onDelete()。详情请参阅the release notes

  

适用于云功能的Firebase SDK的更新测试版   (v0.5.9)现已推出。它包括听的能力   使用。粒度创建,更新和删除数据库事件   onCreate(),onUpdate()和onDelete()方法。

在该版本之前,唯一的数据库事件处理程序是onWrite()。文档尚未更新,以包含新处理程序的示例。

没有理由不利用新处理程序的便利性。