我正在使用iPad版应用程序,使用Firebase组织体育赛事。 要求是:
每个运动项目可能包含许多赛事。
许多团队都会报名参加活动。
要处理的查询为:
为Firebase设计数据库模型是新手。如图所示,我已经设计了firebase结构。
此结构将最佳地支持我的查询吗? 请提出我必须进行的更改。 在此先感谢:)
Firebase结构
答案 0 :(得分:0)
第一,firebase按钮具有按时间顺序排序的非常方便的功能,这意味着仅应用字母数字排序,即使脱机写入,它们也将按时间顺序排列。
理想地,您以不需要查询文档的方式设计文档。 如果您来自MSSQL世界,则您的文档将类似于MSSQL视图,但没有用于备份它们的表。
或者换句话说,按您期望的查询结果存储文档。
我们假设:
这实际上是两个专门用于此类视图的节点:
答案 1 :(得分:0)
所以,我从您的问题中得到的是类似 实体:体育,团队,活动 并且每个实体之间将存在多对多关系,但是当您处理基于非sql的解决方案时,您可以使用类似于此结构的结构来获取所需查询的结果
Sports:{
sport_name,
id,
Teams:
[{team_name, id}]
}
Events: {
event_id
event_name
teams :
[
{team_name, team_id}
]
}
要获取每个团队的详细信息,您可以在团队的另一个节点上保留所有详细信息。
因此,每次需要为任何事件注册团队时,您都可以直接转到team节点下的已注册团队,而对于其他查询则相同。