按自定义对象字段查询Google Firestore数据库

Pau*_*kis 2 google-cloud-firestore

我有以下Google Firestore数据库结构: 在此输入图像描述

有没有办法按每个范围查询 - 纬度和经度?例如,我想里面有所有的用户location.lat,并location.lng在范围:51.40052.000-0.100-0.300.任何人都可以帮我找出这样做的查询吗?

我希望这个问题有道理.任何帮助赞赏.

编辑:我没有使用'地理点'数据类型.我正在使用一个带有2个浮点数的自定义对象,并希望进行简单的数字比较.问题是我不知道(并且找不到)如何构建查询的方法.

小智 8

这应该是可能的

userRef.where('location.lat', '>=', 51.400).where('location.lat', '<=', 52.000);
Run Code Online (Sandbox Code Playgroud)

虽然我不认为.where如果它不在同一个领域,你可以链接更多.

您可以尝试location.lng在其下方执行类似的查询,然后比较和匹配两个查询中的用户.或者检查location.lng代码中是否在所需范围内并过滤掉这些用户.在任何情况下,你最终都会从数据库中获得比preffered更多的结果,然后丢弃一些.

  • 谢谢你的建议。我想这就是我要做的。2 个查询,然后从两者中获取匹配结果。Google Firebase 对我面临的每个问题都越来越失望。 (3认同)