【问题标题】:How to structure a Firebase database for a static list?如何为静态列表构建 Firebase 数据库?
【发布时间】:2016-07-20 06:22:53
【问题描述】:

对于以下场景,在 Firebase 中构建数据库的最佳方法是什么:

我正在构建一个具有 Yelp 非常基本功能的应用程序(根据所选城市列出企业)。

我需要为各个企业存储许多信息(地址、营业时间、电子邮件等)。我还需要确保我有一种方法可以唯一地识别每个企业——我的解决方案是使用企业电话号码或电子邮件。

由于搜索查询是按城​​市进行的,我认为构建数据树的最佳方法是:

Cities
  Phone
    Business Name
    City
    Contact Name
    Contact E-Mail
    E-Mail

关于使用正确的 NoSQL/Firebase 数据结构,我是否完全偏离了基础,或者我是否走在正确的轨道上?如果不是,如何更好地改进数据树?

【问题讨论】:

    标签: firebase data-structures firebase-realtime-database nosql


    【解决方案1】:

    这种结构可能很好,但我建议使用更稳定的唯一键(电子邮件和电话号码可以更改)。我会推荐一个类似的结构:

    /businesses/{cityId}/{businessId}
      name
      phone
      contactName
      contactEmail
      email
    

    cityId 可能只是一个 URL 友好的城市名称,例如 sfnyc。为 Firebase 实时数据库构建数据的主要挑战是您一次只能查询一个属性,因此您需要确保通过路径结构强制执行大部分数据分段(这就是您不希望city 作为企业的财产)。

    【讨论】:

    • 这回答了我的问题,但如果我可以问一个更高级的问题:如果我使用地理位置数据(例如,从当前位置查询最近 10 家企业的数据库),我将如何最好地构建数据?跨度>
    • 你想看看GeoFire。 :)
    猜你喜欢
    • 2013-05-04
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    相关资源
    最近更新 更多