使用来自firebase实时触发器函数的其他引用值

时间:2017-03-17 19:36:21

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

您好我开始使用firebase函数向我的Android应用添加一些后端逻辑我想使用一些不同于事件数据值的值

bottom-top

我想使用other_valwith事件数据,但到目前为止我只使用事件数据ref,但我可以使用更多的父或子在数据库event.data.ref中上升或下降。我该如何解决?

编辑: 由于@davidtaubmann的回答,我尝试学习正确的方法。

exports.makeUppercase = functions.database.ref('path')
     .onWrite(event => {
      const original = event.data.val();
      //I want to use value like this.
      const other_val= root.database.ref('path').val();
      console.log('email', "firms", original);
      const uppercase = original.toUpperCase();
      return event.data.ref.parent.child('uppercase').set(uppercase);
    });

1 个答案:

答案 0 :(得分:4)

使用firebase-admin node_module

根据我上面的评论,我确实测试了这些选项,并且如果您从node_modules初始化Firebase-admin(确保它也包含在packages.json中),您可以从数据库中检索任何数据。

对于您的代码,我相信您只需要在index.js文件的开头添加这两行(包含所有其他初始化):

const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

然后您可以像以前一样使用admin firebase,如下所示:

admin.database().ref('users/xxxx').once('value').then(function(snapshot){....

它对我来说非常合适!