在以下场景中,在Firebase中构建数据库的最佳方法是什么:
我正在构建一个具有Yelp基本功能的应用程序(列出基于所选城市的商家)。
我需要为各个企业存储许多信息(地址,小时,电子邮件等)。我还需要确保我有办法独特地识别每个业务 - 我的解决方案是使用公司电话号码或电子邮件。
由于搜索查询是由城市进行的,我认为构建数据树的最佳方法是:
Cities
Phone
Business Name
City
Contact Name
Contact E-Mail
E-Mail
关于使用正确的NoSQL / Firebase数据结构还是我在正确的轨道上,我完全不在这里吗?如果我不是,我怎样才能更好地改进数据树?
答案 0 :(得分:3)
这种结构可能很好,但我建议使用更稳定的唯一密钥(电子邮件和电话号码可以更改)。我建议使用类似的结构:
/businesses/{cityId}/{businessId}
name
phone
contactName
contactEmail
email
cityId
可能只是一个网址友好的城市名称,如sf
或nyc
。构建Firebase实时数据库数据的主要挑战是,您一次只能查询一个属性,因此您需要确保通过路径结构强制执行大部分数据分段(这就是您不想要的原因) city
作为商家的财产。)