0

这里是新手。我需要有关以结构化方式引用 Firebase 子集合的帮助,用户可以通过子集合选择和传递信息。

=> Tournaments => Cities => Cairo => Year => High Goal => Team A

从根开始就是这样 我有一个城市列表让我们说

 1. Cairo 
 2. Alexandria
 3. Sixth October

我想根据年份记录这些城市每年举办的锦标赛。让我们说一个。

 1. 2019    
 2. 2018
 3. 2017

每年有3个不同的比赛杯让我们说

 1. High goal   
 2. Medium goal
 3. Low goal

每个参赛的杯赛都有参加比赛的球队

 1. Team A  
 2. Team B
 3. Team C

我添加了在 adobe XD 中设计的应用程序的可视化表示。

4

1 回答 1

1

NoSQL 数据库的数据建模在很大程度上取决于您的应用程序的用例,因为它取决于您存储的数据。因此,没有“完美”的数据模型,NoSQL 数据库的最佳实践(或标准形式)也几乎没有关系数据模型那么多。

Firestore(您似乎正在寻找使用)提供了一些用于建模数据的工具:

  • 存储的离散单元称为文档。每个文档包含各种类型的字段,包括嵌套字段,并且一个文档的大小可以达到 1MB。
  • 文档存储在命名集合中。
  • 您可以在文档下嵌套集合,并以这种方式构建层次结构。
  • 每个文档都有一个唯一的表单路径/collection1/docid1/collection2/doc2等。
  • 要写入文档,您必须知道其确切路径。
  • 您可以在集合中查询其中的文档子集。
  • 您可以查询具有相同名称的所有集合,无论它们在数据库中的路径如何。
  • 查询的性能仅取决于您检索的文档数量,而不取决于集合中的文档数量。

可能还有很多规则,但这些应该足以让您入门。

我通常建议写一个你的前 3-5 个用例的列表,并确定你需要什么读取/查询。通过这些查询,您可以开始定义您的数据模型,并实现您的应用程序代码。

然后,每次添加用例时,您都会弄清楚如何读取/写入该用例的数据,并可能更改/扩展数据模型以允许新的和现有的用例。如果您在添加特定用例时遇到困难,请在此处报告,我们可以尝试提供帮助。

一些很好的附加材料可以开始:

于 2020-06-29T14:39:10.583 回答