json - 使用两个过滤器进行选择 - Firebase
问题描述
我正在使用 Firebase 进行数据存储。在里面我有以下集合:
我想提出一个请求,该请求会显示 'qtquartos'> 4 和 'vagasgaragem'> 3 的所有帖子。我进行了很多研究,阅读了文档,但没有发现任何关于以及如何提出此类请求的信息。
这是我尝试使用 2 个规格执行的测试查询,但是我没有成功。
/posts.json?orderBy="qtquartos"&startAt="5"&"vagasgaragem=startAt=3"
解决方案
Firebase 数据库查询只能对单个属性进行排序/过滤。在许多情况下,可以将要过滤的值组合成一个(合成)属性。有关此方法和其他方法的示例,请在此处查看我的答案:基于 Firebase 中的多个 where 子句的查询。
但这仅适用于一个范围过滤器,其他过滤器需要是相等过滤器,在您的示例中并非如此。所以剩下的唯一选择是在服务器上执行一个过滤器,在客户端执行另一个。
唯一的其他选择是找到一种将qtquartos
和的值组合vagasgaragem
成单个值的方法,该值是范围可过滤的。很难找到这样做的方法,但 geohashes 就是这样做的一个例子。这就是为什么 Firebase 上有一个 GeoFire 库,它允许您过滤一系列纬度和经度。但正如所说,这真的很罕见,我怀疑你可以轻松地将你的qtquartos
and组合vagasgaragem
成一个值。
推荐阅读
- android - 如何解决 Android Studio 4.2 渲染问题?
- groovy - 来自文件数据的 Groovy 中的字符串插值
- git - Azure Pipeline git clone 无法处理 repo URL 中的空格
- azure - Azure - VM 规模集按需自动缩放
- c# - 如何在 .Net 中设置实体框架单元测试
- sql - 跨不同表的多个 SELECT UNION 语句
- angular - 如何仅在一个组件 Angular 项目中离线使用引导轮播
- node.js - 嗨,我正在节点中制作图像大小调整 api 并使用Sharp 表示
- python - 查询在某个日期范围内创建的 Twitter 个人资料?
- python - 使用 .append 将列表附加到字典时出错