我试图理解GeoFire并且我有点困惑,GeoFire
会适合我想要实现的目标。
我目前正在建立一个网站(Angular 2
,Typescript
),此网站允许用户注册>创建个人资料并输入他们的位置。然后将此数据存储在其配置文件中,如下所示:
访问此数据的url
如下:
https://my-website-f84a1.firebaseio.com/users<users auto generated key>/address
在本网站的搜索页面上,他们可以按给定的属性过滤其他用户。
然后我想先按最接近的方式对搜索结果进行排序,如下所示:
看起来非常直接,我很困惑并且有些疑问。
GeoFire
会适合这个吗?geoFire
?我不确定用于存储用户地址信息的当前数据库结构是否适合GeoFire
,但我们将不胜感激。
答案 0 :(得分:0)
目前尚不清楚是否要限制返回结果的距离。 GeoFire按半径支持地理查询,但这需要您指定所需的半径。如果你想要返回所有匹配的resutls,那么只需按用户的距离进行排序,那么你最好不要使用GeoFire。
这是我的建议;
关于您的Firebase数据的一条评论;看起来你在实际记录中有你的密钥(&#34; id&#34;)。建议的方法是构造数据,以便将数据放在JSON层次结构中的键下方。这使您可以优化检索,因为密钥已编制索引并且是唯一的。以下是我在其中一个应用中使用的数据库示例。
v = Application.Transpose(Application.Transpose(Range("A1:A5")))