【问题标题】:Firebase count num children of parentFirebase count num children of parent
【发布时间】:2017-11-29 08:21:37
【问题描述】:

我正在尝试获取 js firebase 中父节点的子节点数。 我想要:

'user': {
    '-Yuna99s993m': { count: 1},
    '-Yada99s993m': { count: 2},
}

我正在创建一个云函数,每次进入一个新节点时,它应该添加等于用户节点的 numChildren 的计数。

exports.setCount = functions.database.ref('/user/{userId}').onWrite(event => {
    // This doesn't work
    const count = event.data.ref.parent.numChildren();
    return event.data.ref.update({ count });
});

有什么帮助可以让它工作吗?

谢谢。

【问题讨论】:

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


    【解决方案1】:

    调用event.data.ref.parent.numChildren() 将不起作用,因为parentDatabaseReferencenumChildren() 是在DataSnapshot 上定义的(您可以通过将侦听器附加到引用来获得):

    exports.setCount = functions.database.ref('/user/{userId}').onWrite(event => {
        return event.data.ref.parent.once("value", (snapshot) => {
          const count = snapshot.numChildren();
          return event.data.ref.update({ count });
        });
    })
    

    functions-samples Github 存储库中还有一个child-count example,它可以完全满足您的需求:保留孩子数量的计数器。该示例使用更有效的方法来保持计数。

    【讨论】:

      猜你喜欢
      • 2019-08-07
      • 2022-12-02
      • 1970-01-01
      • 1970-01-01
      • 2014-09-09
      • 1970-01-01
      • 2011-09-03
      • 2020-05-30
      • 1970-01-01
      相关资源
      最近更新 更多