我在Firebase上使用Geofire,根据文档,我看到大多数人拆分了geohash和location节点,如下面的图片
在这种情况下,geohash和location通过键连接。该指数位于geofire/geohash
油田。
但是,当位置数据不是用户数据而是静态地图数据,并且在找到地理位置密钥后将始终查询位置数据时,是否真的有必要拆分为地理位置和位置组?我的地理数据集最终将拥有500多万个密钥,因此扩展和性能绝对是一个问题。
这是我建议的数据模型:
geofire
- key_1234
-- geohash: "abcd"
-- latitude: "50.0"
-- longitude: "8.0"
-- name: "test point 1"
- key_5678
-- geohash: "defg"
-- latitude: "70.0"
-- longitude: "-1.0"
-- name: "test point 2"
是否真的有必要分成地理位置和位置组?
Geofire目前完全管理存储地理位置和键的位置。它不支持将地理位置和键与其他数据组合在一起。
如果您想要组合这两种类型的数据,您可以分叉Geofire并实现这一目标。但它不是由默认库提供的。