占位符只能用于Firebase中的数据库事件,不能用于查询吗?

时间:2018-06-30 20:11:39

标签: javascript node.js firebase firebase-realtime-database

看看下面的JSON结构:

"Fund_Project_Request" : {
    "-LEEy7uxXEeI4AJuePoB" : {
      "4ZpTt0rHvjYfKAnCukIlhGpH6kz2" : {
        "afds1234" : 2,
        "asdf12" : 2
      },
      "iRfNzDSjFiOADqn3KsG8nNuZEfp2" : {
        "afds1234" : 1
      }
    }
  },

在这里,如果我想在onWrite函数中获取值“ afds1234”或“ asdf12”(我将其称为“ reward_ids”),那么我要做的就是:

exports.manipulateRewards = functions.database.ref('/Fund_Project_Request/{ArtcallID}/{UserID}/{rewardID}').onWrite((change, context) => {

 const reward_id = context.params.rewardID;

});

比方说,我想在不使用onWrite函数的情况下获取这些reward_ids字符串。我可以使用singleValueEventListener或任何其他查询方法来做到这一点吗?

1 个答案:

答案 0 :(得分:1)

编写代码以查询实时数据库时,没有通配符。您必须知道您感兴趣的数据的确切路径。

Cloud Functions触发器与普通的侦听器完全不同。它们实质上是过滤流过系统的 all 所有写入,并仅在与给定路径匹配的写入上触发。