Firebase + Geofire 基于属性的复杂查询

Firebase + Geofire complex queries based on properties

我正在使用 Firebase 实时数据库制作一个项目。

我必须 post 带有时间戳、纬度和经度的图片,并从我的位置搜索收音机中的图片,按时间戳排序,时间戳的值是从现在开始的 1 天。

Firebase 实时数据库 + Geofire 适合我吗?

我不知道怎么查询。

谢谢!

实时数据库只支持一维查询。所以,如果你确实想使用 RTDB,你需要一个两阶段查询。

  1. 查询给定 center/radius 中的所有图片。
  2. 对于这些图片中的每一张,查询该图片的所有数据。
  3. 所有图片的数据到达后,filter/sort 客户端。

RTDB 结构类似于:

pictures/{pic_id}: {
  timestamp:,
  name:
  [,...]
},
geofire_pictures/{pic_id}: <geofire data>

话虽如此,我认为 RTDB 将是一个不错的选择,如果您希望 结果集大小易于管理。如果你需要缩放,我建议 .