类别集合的最佳设计

Posted

技术标签:

【中文标题】类别集合的最佳设计【英文标题】:Best design for Category Collection 【发布时间】:2020-06-23 17:39:22 【问题描述】:

我正在开发一个博客网站(练习 ReactJS)。 在我的网站中,我有一个滑动条将显示类别和每个类别中的帖子数量。 那么,我应该如何设计分类集合呢?

    有一个名为 numPosts 的字段来存储该类别中的帖子总数。 每当我创建新的帖子文档时,我必须增加 numPost 字段。 不要将帖子总数存储在类别集合中。每次我想 获取帖子数量,我必须浏览帖子集合和计数。

有没有最适合这种情况的设计? 预先感谢您的帮助! 对不起我的英语。

【问题讨论】:

【参考方案1】:

这更好地计算帖子(通过 count 或 $count)而不是创建“numPosts”字段, 不要像关系数据库那样行事,以下模式对于您想要做的事情来说是一个很好的选择:



    "_id" : ObjectId("5e60df95d7ff5f38b4d44d8c"),
    "nameOfCategory": "Coronavirus",
    "postsInsideThisCategory: [
        "titleOfPost": "Is there any cure?",
        "description": "Bla Bla Bla Bla..... and Bla"
    ,
        "titleOfPost": "What is the type of coronavirus?",
        "description": "Bla Bla Bla Bla..... and Bla"
    ]


然后只需使用count$count 来统计“postsInsideThisCategory”字段数组中的文档数。

【讨论】:

因此,只需创建一个集合类别而不是 2 个(类别和帖子)。每当我创建新帖子时,我会将其附加到“postInsideThisCategory”字段中。对吗? 是的,没错,在这个架构中,您将为每个类别创建一个独立的文档,并将帖子附加到相关类别的“postsInsideThisCategory”字段中。 我认为这样会使我的架构非常大。只有少数文档属于 Collection 类别(每个集合一个),但每个文档又大又长。

以上是关于类别集合的最佳设计的主要内容,如果未能解决你的问题,请参考以下文章

在固定长度向量中表示文档集合的最佳方法是啥?

22 条 API 设计最佳实践,建议收藏!

使用 spark sql 对 1.5 亿个 mongodb 集合进行同步服务的最佳方法?

管理非对称资源使用的最佳设计模式

22 条 API 设计最佳实践,快收藏。。

使用 OOPS 概念和 Java 最佳实践设计高级模式 [关闭]