选择两个过滤器-Firebase

时间:2019-12-04 00:46:25

标签: json firebase api firebase-realtime-database

我正在使用Firebase进行数据存储。里面有以下收藏:

enter image description here

我想提出一个请求,提出所有有关“ qtquartos”> 4和“ vagasgaragem”> 3的帖子。我进行了很多研究,阅读了文档,但未发现有关如何进行这种请求的信息。

这是我尝试使用2个规格执行的测试查询,但未成功。

/posts.json?orderBy="qtquartos"&startAt="5"&"vagasgaragem=startAt=3"

1 个答案:

答案 0 :(得分:1)

Firebase数据库查询只能对单个属性进行排序/过滤。在许多情况下,可以将要过滤的值组合到单个(合成)属性中。有关此方法和其他方法的示例,请在此处查看我的答案:Query based on multiple where clauses in Firebase

但这仅适用于一个范围过滤器,其他过滤器则需要是相等过滤器,在您的示例中并非如此。因此,剩下的唯一选择是在服务器上执行一个过滤,然后在客户端上执行另一个过滤。

唯一的另一种选择是找到一种方法,将qtquartosvagasgaragem的值组合成单个值,该值是可范围过滤的。很难找到一种方法来做到这一点,但是地理哈希是这样做的一个例子。这就是为什么Firebase上有一个GeoFire库,可让您在一定范围的纬度和经度上进行过滤的原因。但是如上所述,这确实很少见,我怀疑您可以轻松地将qtquartosvagasgaragem合并为一个值。

相关问题