【问题标题】:Tracking changes in data with Firebase使用 Firebase 跟踪数据变化
【发布时间】:2015-01-17 06:34:00
【问题描述】:

我对 Firebase 和其他人(例如 Couchbase Sync Gateway)倡导的同步数据库范例非常感兴趣。它在替换 API 所做的 80% 的工作方面确实做得很好,即存储和检索数据。但通常,这并不是 API 的全部功能。在存储和检索数据的同时,我们也在做与数据无关的事情,比如发送电子邮件或推送通知。为了做这些事情,我应该能够拦截数据更改并在创建新记录、现有记录以某种方式更改或删除记录时执行某些操作。 Parse 在其 Cloud Code (https://parse.com/docs/cloud_code_guide#functions-aftersave) 中有一个很好的机制,但我在 Firebase 中找不到类似的东西。我错过了什么还是我想错了?

【问题讨论】:

  • 使用 Firebase 时,您需要设置一个单独的客户端/服务器来处理这些额外的任务。因此,如果您想向新用户发送欢迎电子邮件,您需要设置一个 Firebase 客户端来监听新用户,向他们发送电子邮件并(可能)标记它已发送该电子邮件。此服务通常会在某个提升的管理员帐户下运行,或者使用 Firebase 的主要 secret 运行。
  • 您还可以使用 Zapier 之类的服务从 Firebase 触发这些事件,并且很快,Firebase 将具有内置触发器来向第三方推送通知。
  • Zapier 很好,但我更多地考虑要运行的自定义代码。推送通知是一个简单的示例,但有时您需要与第三方服务集成,在某处调用 REST API 等等。所以运行另一个客户端来做这些事情似乎更适应,但很遗憾 Firebase 不提供这种云代码功能。
  • 对于这样的目的,Firebase Functions 可能会有很大帮助。确实,有一个专门用于发送该解决方案中提到的电子邮件的解决方案。

标签: firebase


【解决方案1】:
    firebaseRef.on('child_changed', function(childSnapshot, prevChildKey) {
  // code to handle child data changes.
});

这是文章:https://www.firebase.com/docs/web/api/query/on.html child_change 事件

【讨论】:

    猜你喜欢
    • 2021-09-16
    • 2020-07-21
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多