【问题标题】:firebase.database.ref path syntax in Cloud Functions and NodejsCloud Functions 和 Nodejs 中的 firebase.database.ref 路径语法
【发布时间】:2017-06-09 02:37:57
【问题描述】:
// cloud functions
exports.listenOnWrite = functions.database.ref('/foo/{id}').onWrite(event => {
    console.log("did match....");
})

例如匹配:/foo/123123 和 /foo/jk3489

// node.js
function startLitener() {
  firebase.database().ref("/foo/{id}").on('child_added', function (postSnapshot) {
    console.log("did match....");
  });
};

什么都不匹配

1) 问题

我了解 ref 路径中非常舒适的 {} 语法仅适用于云函数。 还是我错过了什么?

2) 问题

如何在 nodejs 服务器上制定ref('/foo/{id}')

【问题讨论】:

    标签: node.js firebase google-cloud-functions


    【解决方案1】:

    在 Cloud Functions 的声明中,您使用的是 Cloud Functions for Firebase 库的语法。这是解释路径中{} 语法的模块。

    您的 Node.js 程序中的代码使用 Firebase Admin SDK。所以那里的路径由不同的模块解释,不幸的是使用了不同的语法:

    firebase.database().ref("/foo/").on('child_added', function (postSnapshot) {
      var id = postSnapshot.key;
    });
    

    由于您正在侦听child_added 事件,因此您的代码将使用新子项的快照执行。然后,当您致电 snapshot.key 时,您将获得该孩子的钥匙。

    【讨论】:

      猜你喜欢
      • 2021-08-02
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 2018-03-23
      相关资源
      最近更新 更多