这应该是可能的。
userRef.where('location.lat', '>=', 51.400).where('location.lat', '<=', 52.000);
虽然我认为如果不在同一个字段上,你就不能再链式调用更多的.where
。
你可以尝试对其下面的location.lng
进行类似的查询,然后将两个查询的用户进行比较和匹配。或者在代码中检查location.lng
是否在所需范围内,并过滤掉那些用户。无论哪种情况,你最终都会从数据库中获取比所需结果更多的数据,然后丢弃其中一些。
lat_range
和 lon_range
字段?不过你需要预定义范围,这样你才知道可以查询什么。