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

时间:2017-11-28 15:17:02

标签: ios swift firebase firebase-realtime-database geofire

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

我必须发布时间戳,纬度和经度的图片,并从我的位置搜索无线电中的图片,按时间戳排序,并从现在起1天后的时间戳值。

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

我无法弄清楚如何进行查询。

谢谢!

1 个答案:

答案 0 :(得分:2)

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

  1. geoquery你指定中心/半径的所有图片。
  2. 对于每张图片,查询该图片的所有数据。
  3. 一旦数据到达所有图片,请过滤/排序客户端。
  4. RTDB结构类似于:

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

    话虽如此,我认为RTDB将是一个很好的选择,如果你期望你的 结果集大小可以管理。如果您需要扩展,我建议waiting for Firestore's geoquery functionality