当前位置:  开发笔记 > 编程语言 > 正文

使用Geofire + Firebase过滤结果

如何解决《使用Geofire+Firebase过滤结果》经验,为你挑选了1个好方法。

我正试图弄清楚如何使用Geofire查询过滤器.假设我有不同类别的餐馆.我想将该类别添加到我的查询中.我该怎么做?

我现在的一种方法是使用Geofire查询密钥,通过每个密钥运行for循环并获取餐厅,并将相应的餐厅插入阵列.这些似乎效率低下.还有其他方法可以解决这个问题吗?

理想情况下,我将获得过滤后的结果,并且只在每个项目即将显示时加载它们.

干杯!



1> Frank van Pu..:

Firebase查询只能按一个条件进行过滤.Geofire已经做了一些"魔术",允许它在经度和纬度上进行过滤.可能会在该等式中添加另一个属性,但远远超出Geofire默认处理的属性.请参阅GeoFire:如何在查询中添加额外条件?

如果您一次只想访问一个类别,则可以将餐厅放在每个类别的顶级节点中,并将Geofire指向一个类别.

/category1
    item1
        g: "pns0h0mf2u"
        l: [-53.435719, 140.808716]
    item2
        g: "u417k3dwub"
        l: [56.83069, 1.94822]
/category2
    item3
        g: "8m3rz3s480"
        l: [30.902225, -166.66809]
/items
    item1: ...
    item2: ...
    item3: ...

在上面的例子中,我们有两个类别:category1有2个项目category2,只有1个项目.对于每个项目,我们都会看到Geofire使用的数据:geohash以及经度和纬度.我们还保留了这3个项目的其他属性的单个列表.

但更常见的是,您只需在客户端代码中执行额外过滤.如果您担心它的性能:测量它,共享代码,JSON数据和测量.

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有