【发布时间】:2019-12-04 08:57:36
【问题描述】:
我正在使用 Firebase 进行数据存储。在里面我有以下收藏:
我想提出一个请求,该请求会显示 'qtquartos'> 4 和 'vagasgaragem'> 3 的所有帖子。我进行了很多研究,阅读了文档,但没有发现任何关于以及如何提出此类请求的信息。
这是我尝试使用 2 个规格执行的测试查询,但没有成功。
/posts.json?orderBy="qtquartos"&startAt="5"&"vagasgaragem=startAt=3"
【问题讨论】:
-
Firebase 数据库查询只能对单个属性进行排序/过滤。在许多情况下,可以将要过滤的值组合成单个(合成)属性。有关此方法和其他方法的示例,请在此处查看我的答案:stackoverflow.com/questions/26700924/…。但这仅适用于一个范围过滤器,其他过滤器需要是相等过滤器,在您的示例中并非如此。所以剩下的唯一选择是在服务器上执行一个过滤器,在客户端执行另一个。
-
嗯...除非您找到一种方法将
qtquartos和vagasgaragem的值组合成一个值,该值是范围可过滤的。很难找到这样做的方法,但 geohashes 就是这样做的一个例子。这就是为什么 Firebase 上有一个 GeoFire 库,它允许您过滤一系列纬度和经度。但如前所述,这真的很罕见,我怀疑您是否可以轻松地将您的qtquartos和vagasgaragem组合成一个值。
标签: json firebase api firebase-realtime-database