【发布时间】:2014-08-21 17:39:07
【问题描述】:
Firebase 非常适合使用 startAt() 和 endAt() 在单个维度中构建数据。
但是,在某些情况下,在多个维度中构建数据会非常有用。以下是几个例子:
示例 #1:我想查找地理围栏内的所有数据;也就是说,在两个范围内,一个是纬度,一个是经度。 lat_min -> lat_max,和 lon_min -> lon_max。
示例 #2:我有一个设置在外太空的游戏,我需要知道在特定时间范围内发生在 3 空间块中的所有事件。这样就变成了一个 4 维块:x_min -> x_max, y_min -> y_max, z_min -> z_max, and time_min -> time_max。
目前有什么方法可以在 Firebase 中执行此操作吗?如果没有,Firebase 是否有计划支持多维度的事件索引(以及对这些事件的查询框架)?
谢谢!
【问题讨论】:
-
你检查过 GeoFire 吗? geofire.firebaseapp.com/sfVehicles/index.html
-
Geofire 确实完全按照您的描述进行。它主要基于使用 geohashes 作为优先级。 Geohashes 将经度和纬度组合成一个值,非常适合这种用途。
标签: firebase