【问题标题】:Triggering http request in Cloud Functions for Firebase to pull data from Firebase DB在 Cloud Functions for Firebase 中触发 http 请求以从 Firebase DB 中提取数据
【发布时间】:2017-09-08 20:09:02
【问题描述】:

所以我的 Firebase 数据库中有这些简单的数据

Snapshot1

我应该如何在 Cloud Functions 中编写函数,所以如果我打开像 https://example.com/292322 这样的链接,它将只返回文本“7777777777”

到目前为止,我有类似的东西,但我确定它已经关闭,因为我是菜鸟。谢谢!

const functions = require('firebase-functions');

exports.urlPubkey = functions.https.onRequest((req, res) => {
  database.ref('pubkeys').orderByChild('url').equalTo(req).once('value', snapshot => {
    const match = snapshot.val();
    if (match) {
      res.status(200).send("PUBKEY GOES HERE:)");
    }
  });
}

【问题讨论】:

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


    【解决方案1】:

    借助 Firebase 云功能,您可以使用 snapshot.val().variableName 访问您的数据,因此在本例中为 const key = snapshot.val().pubkey

    我会更改您的代码,使其看起来像这样:

    const functions = require('firebase-functions');
    
    exports.urlPubkey = functions.https.onRequest((req, res) => {
      database.ref('pubkeys').orderByChild('url').equalTo(req).once('value', snapshot => {
        const match = snapshot.val();
        if (match) {
          res.status(200).send(match.pubkey)");
        }
      });
    }
    

    或者这个:

    exports.urlPubkey = functions.https.onRequest((req, res) => {
      database.ref('pubkeys').orderByChild('url').equalTo(req).once('value', snapshot => 
        if (snapshot.exists()) {
          res.status(200).send(snapshot.val().pubkey)");
        }
      });
    

    甚至这个:

     exports.urlPubkey = functions.https.onRequest((req, res) => {
      database.ref('pubkeys').orderByChild('url').equalTo(req).once('value', snapshot => 
        if (snapshot..hasChild(pubkey)) {
          res.status(200).send(snapshot.val().pubkey)");
        }
      });
    

    【讨论】:

      猜你喜欢
      • 2017-09-15
      • 2017-09-24
      • 2017-12-18
      • 2017-10-02
      • 2018-05-02
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多