【问题标题】:Firebase cloud functions - get parent node while listening for changes on children nodesFirebase 云功能 - 在侦听子节点上的更改时获取父节点
【发布时间】:2019-07-18 20:58:47
【问题描述】:

我正在为我的 firebase 数据库中的所有子节点监听特定子节点(钱包)上的更改。

当我的数据库中所有值的任何钱包节点被修改时,我想知道它并且我想执行一个特定的功能

我需要刚刚修改的子(钱包)的父节点

我试过下面的代码

exports.executeFunction = functions.database.ref('/database/{pushId}/wallet').onWrite((change, context) => {
    //execute my function
}

例如,在随附的屏幕截图中。当在这种情况下修改钱包的值时,我希望能够获得“rFA2VPdFpSSzdj4JzhmNFogW10x2”,因为它是父节点。

我该怎么做?

【问题讨论】:

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


    【解决方案1】:

    change.before 是一个具有ref 属性的DataSnapshot 对象。这是一个Reference 对象,可用于将节点向上导航到所需的父节点。 change.before.ref.parent 将是指向您要查找的父节点的引用。

    【讨论】:

    • 我已经尝试过了,它非常接近答案。它返回如下引用:“ https://.firebaseio.com/database/rFA2VPdFpSSzdj4JzhmNFogW10x2”。有没有办法将其转换为“rFA2VPdFpSSzdj4JzhmNFogW10x2”。我尝试将其转换为字符串并进行查找和替换以获取 uid 但无济于事
    • 是的,再次查看 API 文档以获取我链接到的参考。它有一个可以使用的名为id 的属性。
    • 您的建议让我找到了答案。谢谢!
    猜你喜欢
    • 2020-04-03
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    相关资源
    最近更新 更多