【发布时间】:2016-10-10 07:47:48
【问题描述】:
我目前正在评估应作为移动应用程序后端的数据库。
现在我正在关注 Firebase,目前我非常喜欢它。
要求有可能获取
- 最受欢迎的商品
- 在某个位置
- (可能在将来:另外在某个时间范围内,这将是项目的一个属性)
来自数据库。
我很自然地偶然发现了 GeoFire,它为 Firebase 提供了基于位置的查询可能性。
不幸的是 - 至少据我所知 - 不可能通过距离以外的属性对结果进行排序。 (如果我错了,请纠正我)。
如果我对距离不感兴趣(我只想在某个半径范围内拥有物品,无论离中心有多远)而是对流行因素(例如,为了简单起见,一个简单的代表人气的数字)?
重要提示:
在客户端进行过滤/排序不是一种选择(或至少是最不受欢迎的一种),因为结果集可能会增长到无限量。
应用程序的第一个版本将用于 android,因此第一步将使用 Firebase Java 客户端库。
是否有可能解决这个问题,或者 Firebase 是否已退出竞争,并且不是该工作的合适人选?
【问题讨论】:
-
Geofire 的服务器端查询无法添加额外的条件。嗯...严格来说,您可以找到一种方法来扩展 Geohashes 的魔力,将第三个数字(除了 lat 和 lon)添加到组合中。但尽管可能,但我怀疑它对我们大多数人来说是否可行。
-
好的,感谢您的快速回复。很遗憾,我真的很想使用 Firebase 作为后端,但不幸的是,这个查询至关重要。我会看看我是否还能找到另一种解决方案(例如,在将答案发送给那些特殊用例的客户端请求之前,使用一个完成繁重工作的中间服务器)。
标签: firebase geolocation firebase-realtime-database geofire