【问题标题】:reading firebase database with an onCreate()使用 onCreate() 读取 firebase 数据库
【发布时间】:2018-05-19 16:12:36
【问题描述】:

我正在尝试创建一个 database().ref(...).onCreate( event => {..}) 就像在 firebase cloud functions 上一样,但是为了在我的 reactJS 应用程序中读取正常数据。我需要等待另一个云函数执行他的代码并将答案写在我正在等待的.ref(...) 路径中,所以在它完成后,我现在可以读取该信息。

我收到此错误:database.ref(...).onCreate is not a function。我不能为此目的创建一个新函数,因为我需要在 ..OnCreate( event => {..}) 中执行的查询中获得的回调

考虑创建一个等待函数,并将进程保持 2 秒,以便云函数有足够的时间运行。

还有其他想法吗? 谢谢!

【问题讨论】:

  • 您确实意识到ref.OnCreate(),正如错误所暗示的那样,实际上并不是规范的一部分,对吧?你在想ref.on()吗? firebase.google.com/docs/reference/js/…
  • ref.on() 的问题是立即读取数据.. 我需要在创建后读取它
  • 如果还没有值,则回调将返回 null,然后在此后发生更改时返回更新的值。我看不出这不适合你的目的。

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


【解决方案1】:

您是否正在考虑云函数数据库触发器?如果是这样,onCreate 是一个很好的倾听者!这是一个很好的用例,它将在 db 中的指定节点上侦听正在创建的新节点(onCreate!):

exports.EXAMPLE = functions.database.ref('database/{deep}/{link}').onCreate(event => {
  //event.data.val() is your created data
  //event.params.deep and event.data.link are your url wildcard params
})

请记住,这些是云功能;即上传以在firebase服务器上运行并“监听”触发器。在这种情况下,触发器是指定数据库节点上的“创建”事件。其他数据库触发器包括 onWrite、onUpdate 和 onDelete (docs)。还有其他很棒的触发器,包括 Cloud Storage 事件、身份验证事件、HTTPS 触发器等等。

【讨论】:

    猜你喜欢
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    相关资源
    最近更新 更多