gpt4 book ai didi

firebase - 我可以在 Firebase 函数上实现 beforeCreate 触发器吗

转载 作者:行者123 更新时间:2023-12-02 04:38:54 29 4
gpt4 key购买 nike

关于Firebase docs他们提到了 4 种类型的触发器:

  • 创建时
  • 删除时
  • 更新时
  • 写入时

有没有办法在触发“child_added”监听器之前监听云函数中添加的行并修改添加行的字段?有没有办法实现BeforeCreate?

所需的 BeforeCreate 周期(在 Cloud Functions 中):

  • 请求添加新消息
  • 更改消息字段
  • 添加包含修改字段的新消息
  • 客户端收到“child_added”事件

最佳答案

云函数中实时数据库的所有事件提交写入后异步触发。因此,在您的函数可以更改数据之前,其他用户可能已经看到了该数据。

要解决此问题,您需要确保数据仅在验证/修改后写入每个人都可以看到的位置。

要在数据的监听器看到新数据之前验证/修改新数据,您有两个选择:

  1. 使用 HTTP 触发函数写入数据。应用程序代码调用 HTTP 函数,该函数执行您想要的数据操作,然后将结果写入数据库。

  2. 让应用程序写入“审核队列”,它只是数据库中的一个单独位置。云函数从该队列触发,验证/修改数据,将其写入实际位置,然后将其从队列中删除。

尽管使用这两种方法,您都会失去 Firebase 实时数据库的部分透明离线行为,因此您必须进行选择。

关于firebase - 我可以在 Firebase 函数上实现 beforeCreate 触发器吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48623481/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com