首页 > 解决方案 > 在 Firebase 实时数据库上搜索/获取对象

问题描述

我在 Firebase 上有一个实时数据库,其中包含:

  • 宠物
    • 唯一身份
      • 名称:贝多芬
      • 品种:拉布拉多,金色
      • 类别:收养,临时收养
      • 年龄: ...
      • ...

由于我是 Firebase 的新手,我对如何使用 Firebase 数据库没有什么疑问,我无法从他们的文档中获得线索,你能帮我吗?

  1. 我正在尝试创建一个云函数(用作 REST API),我可以在其中搜索来自特定类别的所有宠物,例如 Adoption。那可能吗?我可以创建、更新...但我不知道应该如何进行搜索...
var ref = admin.database().ref('/pets');
ref.????
  1. 我可以针对此搜索从 Cloud Functions 创建类似于分页的内容吗?

  2. 我不熟悉这种类型的 NoSQL 数据库,但我需要创建索引来搜索这些对象吗?我也完全迷失在这里了。:(

  3. 用这个云函数来做这种类型的搜索很奇怪吗?或者我应该为每个平台使用自己的 SDK?他们也提供这种搜索吗?在我看来,创建云函数并从任何平台调用它作为休息调用更容易,对吧?

谢谢!

标签: objective-cfirebasefirebase-realtime-databasenosqlgoogle-cloud-functions

解决方案


  1. 是的,这是可能的,如果您的目标是创建 API,那么您需要为此使用 Cloud Functions。我建议您从 Firebase 切换realtime databasefirestore. 实时数据库较旧,缺少一些丰富的查询,Firestore数据库对高级查询有更好的支持......

  2. 是的,查看这些 Firestore 文档以获取分页示例。

  3. 除非您获得庞大的数据集,否则作为初学者,我建议您不要担心索引。

  4. 无论哪种方式都可以,但如果您正在寻找跨平台,那么您是对的 - 创建这样的 API 肯定可以为您节省一些麻烦。


推荐阅读