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

如何从实时数据库(Firebase)获取json格式的数据?

阎成天
2023-03-14

我试图在我的应用程序中创建一个搜索功能,它基本上根据用户的查询(如任何产品名称)过滤json数据(如产品列表),并显示最接近的结果。我已经成功实现了这个搜索栏和过滤逻辑,但它是在我的应用程序中我的产品列表的本地json数据上工作的。我想要的是从网络调用(http调用)中获取json数据,然后进行过滤。但是我的实时数据库中有数据,我不知道如何以json格式检索它们。我可以设置云函数(节点js)来将json数据返回给客户端,但是我不确定云函数中应该有什么逻辑来将其连接到实时数据库并返回响应

现在,我如何通过云功能从我的应用程序获取这些数据?

共有1个答案

万博涛
2023-03-14

我不确定云函数中的逻辑应该是什么,以将其连接到实时数据库并返回响应。……如何通过云函数从我的应用程序中获取这些数据?

我理解你想使用一个HTTPS云函数作为REST APIendpoint(你写“我想要的是从网络调用(http call)获取json数据)”。

您可以按照以下方式编写云函数:

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

exports.getRTDBData = functions.https.onRequest(async (req, res) => {
  
    const rtdbRootRef = admin.database().ref();

    const noticesDataSnapshot = await rtdbRootRef.child('notices').get();

    res.status(200).send(noticesDataSnapshot.val());   

});

使用超文本传输协议调用此HTTPS云函数时,您将获得整个通知RTDB节点。如有必要,您可以调整RTDB查询,例如通过过滤数据,如文档中所述。

此外,我建议您观看此视频,了解如何处理HTTPS云功能中的错误的更多信息。

 类似资料:
  • 我想从Firebase实时数据库中获取整个JSON数组。从实时数据库中提取数组并将其存储在自定义类的ArrayList中。

  • 我有一个带有此模式的数据库: 我测试了这段代码,但我无法从数据库中获得任何消息。我会感谢你的帮助。

  • 我从一个开发人员那里得到了一个基于Firabase Realtime DB的Ionic应用程序的代码。当尝试启动应用程序时,im会收到此错误消息。 [ng]src/app/data-service.service.ts(14,36)中出现错误:错误TS2339:类型“{apikey:String;authDomain:String;databaseUrl:String;ProjectId:Stri

  • 我正在尝试获取我的用户名,并在应用程序打开时向他/她问好。但我无法根据某个用户的uid获取数据。当我运行应用程序时,祝酒词从未真正出现。 数据库结构 密码

  • 我正在尝试读取我的Flutter应用程序中的firebase实时数据库中的数据,并将其分配给模型类,但是,我在控制台中得到了以下错误。 下面是我到目前为止所做的代码 员工类别 我不知道我做错了什么,请帮我解决这个问题

  • 我正在寻找一种方法,以数组[]或字符串等格式从Firebase实时数据库获取数据。 我的数据库如下所示:链接到数据库的图像 或者: