【问题标题】:Cloud Function retrieving a value based on URL parameterCloud Function 根据 URL 参数检索值
【发布时间】:2017-04-27 23:03:39
【问题描述】:

我正在尝试在节点中编写一个云函数,我可以在其中从参数返回一个令牌。 我使用的网址是... https://us-central1-nmnm03.cloudfunctions.net/GetAccount?taccount=Asd

我的功能是这样的......它是错误的。我怀疑我没有正确分配 TT。

var functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.GetAccount = functions.https.onRequest((req, res) => {
        const t = admin.database().ref('/newaccout/'+req.query.account)
        const tt = t.child(token)
            res.send( "res is " + tt );
  });

req.query.account 是关键。文档中的一项是令牌 理想情况下,我想得到类似... {“令牌”:“23453458885”}

请给我一个节点提示...谢谢

【问题讨论】:

  • 您拥有t.child(token),但看起来令牌已分配给t

标签: express firebase google-cloud-functions


【解决方案1】:

不过,我不是 Firebase 极客。从文档中可以看出,您将有两个事件可用于侦听检索子数据。你可以阅读更多here。给定的选项用于不同的情况。请通过上述链接获得清晰的视图。

在您的云功能中,您可以尝试执行以下操作:

const t = admin.database().ref('/newaccout/'+req.query.account)
t.on('child_added', function(data) {
  res.json({
     token: data.token
  })
})

或者可能是这样的:

const t = admin.database().ref('/newaccout/'+req.query.account)
t.once('value', function(snapshot) {
   //Process it like above
   //But here you will get al child elements at once
});

【讨论】:

    【解决方案2】:

    看起来您希望查询在存储在 t 的数据库引用中找到的值。不幸的是,您实际上还没有执行查询。 tt 只是另一个指向数据库中某个位置的引用对象。您应该使用 Reference 上的 once() 方法来查询数据库位置。另请记住,您正在使用一个名为 token 的变量,但您尚未在代码中定义。对我来说,这似乎会给我带来错误。

    看看一堆sample code,你可能会得到很好的服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 2020-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多