如何为静态列表构建Firebase数据库?

时间:2016-07-20 06:22:54

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

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

我正在构建一个具有Yelp基本功能的应用程序(列出基于所选城市的商家)。

我需要为各个企业存储许多信息(地址,小时,电子邮件等)。我还需要确保我有办法独特地识别每个业务 - 我的解决方案是使用公司电话号码或电子邮件。

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

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

关于使用正确的NoSQL / Firebase数据结构还是我在正确的轨道上,我完全不在这里吗?如果我不是,我怎样才能更好地改进数据树?

1 个答案:

答案 0 :(得分:3)

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

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

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