我有一个中等大小的Firebase数据库,其中包含大约30,000个定位对象,每个定位对象都包含诸如名称,小时,最重要的是纬度/经度之类的字段。在相应的移动应用程序(iOS和Android)上,每次他们打开应用程序时,我都会加载用户的纬度和经度。然后,我希望能够加载距用户经纬度指定距离之内的所有位置。
这不是关于如何计算球形表面上的点之间距离的问题,而是更多关于无SQL数据库中“ WHERE”等效项的问题。如何快速检查数据库中的所有30,000个位置,以查看两个字段是否在用户指定的(圆形)范围内?
答案 0 :(得分:0)
也许您正在寻找startAt()
,endAt()
,equalTo()
这样您可以过滤数据
databaseRerefence.orderByChild(valueToOrderBy).startAt(valueStart).endAt(valueEnd);