这更多是一个与Firebase在数据库观察方面如何工作以及查询数据库时使用多少资源有关的问题。
我已经在Swift中编写了一些代码,用于附近区域搜索功能,因为Firebase本身不可能做到这一点。
首先,我得到用户坐标并将其编码为一个geohash,然后使用我创建的邻近度类来扩展“用户” geohash周围的区域,获取所有坐标并将其编码为所需半径的geohash 。例如,5公里将返回168个地理哈希。
然后,我将所有收集的geohash放入一个数组中,然后遍历每个哈希,并在数据库中查询具有匹配geohash的所有用户帖子,以显示在附近的“用户”屏幕上。
问题是,尽管我的Firebase RTD中仅存储了4kb,但是我的每次代码运行都将我的Firebase下载使用量又增加了100kb。即使目前在168个geohash结果中只有1个返回任何数据,但数学却不累加。空或无结果Firebase查询是否仍会增加下载量?
任何帮助将不胜感激。