使用 GeoFirestore 和 Firestore 过滤结果

Filtering results with GeoFirestore and Firestore

提问人:nibbana 提问时间:2/27/2020 最后编辑:nibbana 更新时间:3/13/2020 访问量:208

问:

我目前正在使用适用于 Android 的 GeoFirestore 过滤一些数据。当然,通过减小半径,可以减少检索的文档数量。但是,我想使用 Firestore 提供的复合查询功能进一步过滤相同的数据,或者只是使用 限制读取次数,以便 1) 避免下载/阅读不需要的文档,以及 2) 在时间和资源方面改善我的用户体验。limit()

我知道这个问题已经被问过好几次了(例如,这里)。尽管如此,Firestore 仍在迅速发展,因此我想询问是否有关于此主题的更新。

Android Firebase Google-Cloud-Firestore 服务器端 GeoFireStore

评论


答:

0赞 nibbana 3/12/2020 #1

https://github.com/mbramwell1/GeoFire-Android 有一个图书馆

每个文档的位置使用以下公式存储(方法由库本身提供):

degreeMatch = (纬度 + 90) * 180 + 经度

我做了一些测试,结合了一些运算符(包括 limit 和 array-contains),它似乎返回了正确的结果。