【问题标题】:Firebase functions - Could not find parent property in onWrite() triggerFirebase 函数 - 在 onWrite() 触发器中找不到父属性
【发布时间】:2018-09-07 07:23:30
【问题描述】:

在 Firebase 函数文档中,它提到了这个

event.data.ref.parent

之前(

已改为

snap.ref.parent

现在 (>= v1.0.0)

但这会在onWrite(snap, context) 触发器中返回未定义。我该怎么办?

【问题讨论】:

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


    【解决方案1】:

    onWrite 具有 change(例如:onWrite((change,context))参数,其中包含 beforeafter 字段。其中每一个都是DataSnapshot,其方法在admin.database.DataSnapshot 中可用。所以在你的情况下你需要使用:

    change.after.ref.parent
    

    检查一下:

    https://firebase.google.com/docs/functions/beta-v1-diff#realtime-database

    【讨论】:

    • OP 显然是在回答文档的“adminRef 被 ref 替换”部分。
    • 如果他使用onCreate,那么snap.ref.parent 将按照“adminRef 替换为 ref”中的说明工作。但他正在使用onWrite
    • @PeterHaddad 成功了!还有一个问题,我如何获得父母其他孩子的价值?例如其他节点的名称是'token'
    • 你需要点击链接查看详细信息,但是如果你想要节点token然后做const datas=change.after.val(); const tokens=datas.token@minimalist
    • @PeterHaddad 这返回未定义。 token 不是当前 ref 的孩子,而是兄弟姐妹。为此,我需要先找到父母,然后再获得令牌。
    猜你喜欢
    • 2018-10-11
    • 1970-01-01
    • 2018-05-16
    • 2020-08-24
    • 2020-09-19
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    相关资源
    最近更新 更多