Firestore数据编码文章和类别



上下文:

我正在创建Angular的Wiki页面。Wiki页面可能不会大于5000篇文章。我想获得最有效的(pageload(方式,但我认为我对此太陌生了,无法监督一种选择的后果。当然,我也想遵循惯例。

问题:

我想在Firestore中收集一系列文章,我想对此进行分类。一篇文章应属于一个类别。一个类别可以属于一个类别(作为子类别(。

现在,首选哪种数据模型?为什么?

  1. 每个文章都有(参考数据类型(参考类别文档?

  2. 类别文档对文章有一系列引用?

Firestore-root
   |
   --- categories (collection)
         |
         --- categoryId (document)
               |
               --- name: "Science" //Simple property
               |
               --- articles ['articleId1', 'articleId2', etc.. (long array)]
  1. 完全不同的东西?
  1. 每个具有(参考数据类型(的属性的每篇文章参考类别文档?

只有在文章属于单个类别的情况下,此结构才会为您提供帮助。

Firestore-root
   |
   --- articles (collection)
         |
         --- articleId (document)
               |
               --- catoegory: "Science" //Simple property

无需使用对类别文档的引用。除此之外,要过滤您的文章,您可以简单地使用where equal调用。

  1. 类别文档对文章有一系列参考?

如果文章可以属于一个或多个类别,则此结构将为您提供帮助。

Firestore-root
   |
   --- articles (collection)
         |
         --- articleId (document)
               |
               --- catoegories: ["Science", "Economy"] //Property of type array

现在要过滤您的文章,您可以简单地使用array-contains调用。

  1. 完全不同的东西?

在构建云的Firestore数据库时,这两种解决方案均被广泛使用,但是您应该选择哪种解决方案更适合于应用程序的用例。

最新更新