首页 > 解决方案 > 使用自定义字段(即:位置)而不是 GeoFirestore 中的坐标

问题描述

我的数据库包含geopoint在一个名为的字段中,location但要使用geofirestore一个字段需要具有geopoint名为的有效数据coordinate

但问题是数据库包含大量数据并且多个应用程序正在使用它们,因此更改文件名不是一个好主意。 在此处输入图像描述

另一个字段l包含latitudelongitude类型number

有什么想法可以得到一个可行的解决方案(如果可能的话)?建议/答案表示赞赏:) 考虑修改库..不知道该怎么做..

顺便提一下:我已经用一个构造这个的虚拟数据库进行了测试并且工作正常:

在此处输入图像描述

标签: javascriptfirebasegoogle-cloud-firestoregeofirestore

解决方案


所在的位置coordinates仅对添加/设置功能是必需的,因此 geofirestore 知道将什么用作 geohash 的地理点。如果您不想使用该coordinates字段,您可以将字符串作为自定义字段传递https://geofirestore.com/classes/ geocollectionreference .geocollectionreference.html#add(这与 set 不同,请查看文档)

您也不需要在字段中包含数据并使用 ,和d保持其顶级。但是,geofirestore 不会执行复合查询(因为它仅在现场查询),并且当您更新数据时,它会将更新推送到该区域。所以也许只使用 geofirestore 进行地理查询,并使用 firestore 进行更新。lgdd


推荐阅读