我正在使用Firebase以最後一次掃描的經度和緯度存儲用戶。查詢附近位置
的條目是這樣的:
"Bdhwu37Jdmd28DmenHahd221" : {
"country_code" : "at",
"firstname" : "John",
"gender" : "m",
"lat" : 11.2549387,
"lon" : 17.3419559
}
當用戶按下特定的「搜索」按鈕,我希望我的火力地堡的功能,以獲取人們最接近誰發送請求的人。
由於Firebase僅允許在一個字段後查詢,因此我決定添加country_code,以便對該字段有一些範圍限制和查詢。但是,當我加載特定國家的每個用戶時,它仍然超級慢,然後檢查給定用戶和同一個國家中的所有其他用戶之間的最小距離。
已經有5個用戶,該功能需要40秒才能實現結果。
我也讀過關於複合索引,但我需要以某種方式結合緯度和經度和兩個領域的查詢。
是否有任何方法可以獲得第二個和第三個查詢(例如搜索相同的country_code,然後是類似的經度和緯度),還是必須在我的服務器代碼中解決這個問題?
https://github.com/firebase/geofire – cartant