【问题标题】:OnUpdate Firebase Database TriggerOnUpdate Firebase 数据库触发器
【发布时间】:2018-07-29 22:39:28
【问题描述】:

我正在尝试编写一个基本的 firebase 触发器,当我的实时数据库中的条件发生更改时,将触发导致 FCM 通知的触发器,但我卡在第一步,无法使 Onupdate 触发器正常工作。 我的数据库目前没有用户,里面只有这个条件,我试着疯狂地搜索,但一直找不到能让这个工作的东西。

        // This code sets up the Firebase SDK to create functions and triggers.
const functions = require('firebase-functions');
// This gives the Firebase Admin SDK Access to the database
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);



exports.sendNotification = functions.database
        .ref("/condition/{}").onCreate(event => {
    if (event.data.exists() && event.data.previous.exists())
        {
            return; 
        }
});

【问题讨论】:

  • 什么不起作用?
  • 感谢您的快速回复。问题是我更改了数据库中的条件值,这很好,但是在函数的控制台中,没有运行任何执行,据我了解,这意味着代码不会检查条件值的任何更新.
  • 嗨彼得,是的,就是这样,非常感谢,为什么我以前没有看到它,谢谢!
  • 修补一个 Firebase 示例并尝试根据我的需要对其进行调整,删除它并更改 create 以更新您的答案。

标签: javascript node.js firebase firebase-realtime-database google-cloud-functions


【解决方案1】:

您正在使用onCreate(),这就是如果您更改数据库中的条件值,该函数不会执行的原因。

现在,如果您在位置 condition 添加新数据,则会触发 onCreate()。

onUpdate(),当实时数据库中的数据更新时触发。

onWrite(),在实时数据库中创建、更新或删除数据时触发。

onDelete(),从实时数据库中删除数据时触发。

如果您希望它在数据更改时触发,请尝试使用onWrite()onUpdate()

更多信息在这里:https://firebase.google.com/docs/functions/database-events

【讨论】:

  • 非常感谢您,您省去了很多麻烦!它工作得很好,现在可以添加 FCM。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-08
  • 2018-01-26
  • 2020-10-20
  • 2018-08-06
  • 2019-03-29
  • 1970-01-01
  • 2017-10-18
相关资源
最近更新 更多