我目前正处于数据库的评估过程中,该数据库应作为移动应用程序的后端。
现在我正在关注 Firebase ,现在我非常喜欢它。
要求有可能获取
来自数据库。
很自然地,我偶然发现了为Firebase提供基于位置的查询可能性的GeoFire。
不幸的是 - 至少据我所知 - 没有可能通过距离以外的属性来排序结果。 (如果我错了,请纠正我。)
那么,如果我对距离不感兴趣(我只想在一定范围内有物品,无论离中心多远),我会怎么做,而是在流行度因素中(例如为了简单起见,简单起见)象征人气的数字?
重要:
客户端的过滤/排序不是一个选项(或至少是最不喜欢的选项),因为结果集可能会增长到无限量。
该应用程序的第一个版本将用于android,因此Firebase Java客户端库将在第一步中使用。
是否有可能解决这个问题,或Firebase退出竞争对手而不是合适的候选人?
答案 0 :(得分:0)
无法在Geofire的服务器端查询中添加额外条件。
Firebase数据库的查询模型仅允许对单个属性进行过滤。 Geofire已经在纬度和经度上执行了一个看似不可能的过滤技术。它通过Geohashes的魔力来实现这一点,它将纬度和经度组合成一个字符串。
严格地说,你可以找到一种方法来扩展Geohashes的魔力,在混合中添加第三个数字。但尽管可能,我怀疑对我们大多数人来说这是可行的。