【发布时间】:2020-03-06 14:53:53
【问题描述】:
我正在尝试构建一个只有这 3 个模型的应用:
- 主题(只有一个标题(最多 100 个字符。))
- 评论(有文本(可能很长)、author_id、topic_id、createdDate)李>
- 作者(只有一个用户名)
其实是一个非常简单的db结构。一个主题可能有许多由作者创建的 cmets。并且一个作者可能有很多 cmets。
我仍在尝试找出设计数据库结构(文档)的最佳方式。首先,我想把所有东西都放在它自己的模式中,就像上面一样。 3 文件。但由于这是一个 nosql 数据库,我实际上应该尝试消除对连接的需求。现在我真的在考虑将所有内容都放在一个文档中,这听起来也很疯狂。
这些是我从 ui 实际查询的:
- 首页查询:列出今天收到最多 cmets 的所有主题(会经常运行)
- 搜索字段的自动建议列表:列出所有标题包含字符串“X”的主题
- 主题查询的主页:列出一个主题的所有 cmets,并附上作者的用户名。
由于我的大多数查询都需要来自至少 2 个文档的数据,我真的应该像这样在一个文档中一起使用它们吗:
评论(文本、用户名、topic_title、createdDate)
这样我就不需要任何加入,但也可以多次保存主题的标题..在每条评论中..
我只是无法决定。
感谢您的帮助。
【问题讨论】:
-
“一个主题可能有很多个cmets”,有多少个?几十个,几百个?
-
实际上超过了 ..
-
我的意思是每个主题有多少 cmets?每个主题数千?如果是这样,我已经更新了我的答案。
-
大部分时间都是数百个。但每个主题可能有数千个。
标签: mongodb database-design nosql