【发布时间】:2017-09-07 13:15:57
【问题描述】:
我正在使用 Firebase 来存储用户上次扫描的纬度和经度。
条目如下所示:
"Bdhwu37Jdmd28DmenHahd221" : {
"country_code" : "at",
"firstname" : "John",
"gender" : "m",
"lat" : 11.2549387,
"lon" : 17.3419559
}
每当用户按下特定的“搜索”按钮时,我希望我的 Firebase 功能能够获取离发送请求的人最近的人。
由于 Firebase 仅允许在一个字段后进行查询,因此我决定添加 country_code,以对该字段进行一些范围限制和查询。但是当我加载特定国家/地区的每个用户然后检查给定用户与同一国家/地区的所有其他用户之间的最小距离时,它仍然非常慢。
已经有 5 个用户,该功能需要大约 40 秒才能达到结果。
我也读过复合索引,但我需要以某种方式结合纬度和经度并查询这两个字段。
有什么方法可以在这里获得第二个和第三个查询(例如搜索相同的国家代码,然后搜索相似的经度和纬度)还是我必须在我的服务器代码中解决这个问题?
【问题讨论】:
标签: firebase firebase-realtime-database