当前位置: 首页 > 知识库问答 >
问题:

如何从Firebase数据库检索单个JSON值?

陶成济
2023-03-14

假设我有一个firebase节点,它是dbref=firebase。ref('/Transfer_Request/{pushID]/')。

客户端写入两个值;从_ID和到_ID到dbref。如何从Firebase云函数中获取from_ID和to_ID的单个值?

我的代码

exports.TransferTicket = functions.database.ref('/Transfer_Request/{pushID}').onWrite((event) => {

  const original = event.data.val();
  const from_ID = original.from_ID;
  const to_email_ID = original.to_ID;

  //search for to_email ID
  return admin.database().set("A transfer request was just made");

});

我得到两个错误:

1)

类型错误:admin。数据库(…)。set不是导出时的函数。转车票。功能。数据库对象处的ref.onWrite(/user\u code/index.js:41:25)。(/user_code/node_modules/firebase functions/lib/cloud functions.js:59:27)在下一个(本机)at/user_code/node_modules/firebase functions/lib/cloud functions。js:28:71在cloudFunction(/user\u code/node\u modules/firebase functions/lib/cloud functions.js:24:12)在cloudFunction(/user\u code/node\u modules/firebase functions/lib/cloud functions.js:53:36)在/var/tmp/worker/worker。js:716:24在过程中_tickDomainCallback(内部/process/next_tick.js:135:7)

2)

类型错误:无法在导出时读取null的属性from。TransferTicket.functions.database.ref.on写(/user_code/index.js:35: 25)在对象。(/user_code/node_modules/Firebase函数/lib/cloud-functions.js:59: 27)在下一个(本机)在 /user_code/node_modules/firebase-functions/lib/cloud-functions.js:28: 71在__awaiter(/user_code/node_modules/Firebase函数/库/cloud-functions.js:24: 12)在云函数(/user_code/node_modules/Firebase函数/库/cloud-functions.js:53: 36)在 /var/tmp/worker/worker.js:716: 24在进程。_tickDomainCallback(内部/进程/next_tick.js:135: 7)

共有1个答案

何越
2023-03-14

第一个问题来自这样一个事实,即执行以下操作时,您会错过Firebase参考

return admin.database().set("A transfer request was just made");

你应该做:

admin.database().ref('...the path where you want to write...').set("A transfer request was just made");

有关更多详细信息,请参见参考文档和数据库。

第二个问题来自这样一个事实:自从1.0版发布以来。用于云函数的Firebase SDK的0,语法已更改。请参阅此文档项。

您应该修改您的代码如下:

exports.TransferTicket = functions.database.ref('/Transfer_Request/{pushID}').onWrite((change, context) => {

    const original = change.after.val();

    const from_ID = original.from_ID;
    console.log(from_ID);
    const to_email_ID = original.to_ID;
    console.log(to_email_ID);

    return admin.database().ref('...path...').set("A transfer request was just made")
    .catch(error => {
        console.log(error);
        //...
    });

});
 类似资料:
  • 我试图创建一个简单的程序,从用户的名字,手机号码和电子邮件地址,然后把数据在Firebase实时数据库。 有3个输入框和一个按钮,按一下就可以完成上面的操作。代码如下: 我这样设置了消防基地:

  • firebase数据库最近的更新似乎有一些变化。我的项目在firebase\u数据库:^7.0.0版本下运行良好,但在firebase数据库的更新版本中,我无法更新项目代码。 以下是v7的工作版本 firebase\u数据库^9.0.12上的同一代码出现错误。我收到的错误在`(DataSnapShot snap)async{…}上错误是 无法将参数类型“Future Function(DataSn

  • 问题内容: 我有一个带有这样的树的firebase数据库 等等… 在我的应用程序中,用户下载项目,而项目下载时,电视主题将从URL播放。当单个项目发生价值事件时,我可以使其正常运行。我希望它从列表中随机选择一个值。如何做到这一点? 由于我的应用程序不包含任何内容,因此编辑可以使用回收视图方法 这是我的单项代码 问题答案: 要解决此问题,请使用以下代码行: 然后使用循环使用随机数提取该值:

  • 我正在两个标记之间画一条路线,我想保存那条路线。为此,我将包含lat和lng的ArrayList保存在Firebase数据库中。但我在取回航路点时遇到了问题。我是这样插入的: 在检索数据时,我尝试执行以下操作:

  • 大家好,我是新来的,新来的android开发,首先我想道歉,如果这是问和回答之前。我试图建立一个android应用程序,在用户配置文件中,我有2个性别,男性和女性的单选按钮。 这是单选按钮的选择 我能够将性别值作为文本传回用户配置文件屏幕 当我进入“编辑用户配置文件”时,正确的单选按钮显示为选中状态,但是当我单击“保存配置文件”时,应用程序崩溃,就像没有选中单选按钮一样。如果我重新点击编辑个人资料

  • 问题内容: 我有以下表格及其关系。我将JSON数据存储在client_services表中。它们是使用MySQL查询来检索JSON值的任何方式,如下所示: 还是可以进一步规范化client_services表? 表: 表: 表: 表: 问题答案: 由于很多人都亲自问过我这个问题,所以我想我会再作一次修改。这是一个具有SELECT,Migration和View Creation的完整SQL的要点,