【问题标题】:Comparing Cloud Functions for Firebase database triggers onCreate(), onWrite(), onUpdate(), when to use?比较 Cloud Functions for Firebase 数据库触发器 onCreate()、onWrite()、onUpdate(),何时使用?
【发布时间】:2018-01-26 07:12:09
【问题描述】:

这是一个简单的问题,我在 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() 而不用检查呢?

【问题讨论】:

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


    【解决方案1】:

    onCreate()onUpdate()onDelete() 已于 2017 年 7 月 7 日在 Firebase SDK for Cloud Functions (v0.5.9) 版本中添加。the release notes 中有详细说明:

    Firebase SDK for Cloud Functions 的更新测试版 (v0.5.9) 现在可用。它包括倾听的能力 细粒度的创建、更新和删除数据库事件,使用 onCreate()、onUpdate() 和 onDelete() 方法。

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

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

    【讨论】:

    • 谢谢@Bob。想知道我刚刚更新帖子时如何触发我的推送。因为我使用的是 onWrite() 方法。
    猜你喜欢
    • 2017-08-25
    • 2018-10-11
    • 1970-01-01
    • 2018-05-02
    • 2017-08-26
    • 2017-09-25
    • 2017-12-13
    • 2017-10-18
    相关资源
    最近更新 更多