比较Cloud Functions for Firebase 数据库触发器onCreate()、onWrite()、onUpdate(),什么时候用?

Comparing Cloud Functions for Firebase database triggers onCreate(), onWrite(), onUpdate(), when to use?

这是一个简单的问题,我在 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() 的唯一示例与身份验证事件有关。是有原因还是我只是偏执?为什么不直接使用 onCreate() 而不用检查呢?

onCreate()onUpdate()onDelete() 已添加到 2017 年 7 月 7 日发布的 Firebase SDK for Cloud Functions (v0.5.9) 中。详见 the release notes:

An updated beta release of the Firebase SDK for Cloud Functions (v0.5.9) is now available. It includes the ability to listen to granular create, update, and delete database events by using the onCreate(), onUpdate(), and onDelete() methods.

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

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