【问题标题】:Firebase Query in AndroidAndroid 中的 Firebase 查询
【发布时间】:2018-04-24 00:41:14
【问题描述】:

我是 Firebase 的新手。我目前正在制作和 android 应用程序,它基本上是一个物业租赁应用程序。我想进行查询以过滤属性。我想根据用户输入进行搜索。当用户将输入留空时也进行搜索。所以当用户只输入价格时,它会搜索所有房间,cr和宠物。

【问题讨论】:

标签: android firebase


【解决方案1】:

对于您想要做的事情,我会使用 Cloud Firestore 数据库而不是实时数据库,因为 Firestore 是为这种类型的东西而构建的。加上它更容易阅读。另外我想指出,Cloud Firestore 是一个实时数据库,更像 SQL。

这是 Cloud Firestore 的示例,但代码编写起来非常简单。我确信实时数据库可以做类似的事情,但您将花费更多时间编写代码以使其以您想要的方式工作。相信我。

// Create a reference to the cities collection
CollectionReference housesRef = db.collection("houses");
// Create a query against the collection.
housesRef.whereEqualTo("availability", "yes").whereEqualTo("pets", "yes");

https://firebase.google.com/docs/firestore/query-data/queries

另外,据我所知,你不能用实时数据库做那么多的服务器端查询,所以如果你有一个过滤器功能,很可能会在客户端完成,这很慢并且需要时间。该应用程序必须使用循环读取数据,检查每个元素以查看它是否满足要求,如果您有 10 或 20 座房屋,这可以工作,但在某个点之后会导致延迟。

实时数据库是 Firebase 的原始数据库。是一种高效, 适用于需要跨平台同步状态的移动应用程序的低延迟解决方案 实时客户端。

Cloud Firestore 是 Firebase 的新旗舰 用于移动应用程序开发的数据库。它改进了 具有新的、更直观的数据模型的实时数据库。云 Firestore 还具有比 Firestore 更丰富、更快的查询和更好的扩展性 实时数据库。

【讨论】:

  • 是的,我认为 Firebase 实时数据库中的查询是有限的,这就是我感到困惑的原因。我只是认为有人可能已经遇到并找到了使用 Firebase 的解决方案。因为问题是我已经在应用程序中建立了实时数据库,所以大部分代码都在实时数据库中。我正在寻找一些东西,而不会对应用程序造成太大的改变。我遇到了 ElasticSearch,它支持这样的查询,但我想用 Firebase 做所有事情。非常感谢你做的这些。我认为 Firestore 似乎更适合该应用程序。
猜你喜欢
  • 1970-01-01
  • 2020-08-28
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 2017-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多