Nosql数据库设计-MongoDB

问题描述 投票:0回答:2

我正在尝试构建仅具有这三种模型的应用程序:

  • 主题(只有一个标题(最多100个字符))
  • 注释(具有文本(可能很长),author_idtopic_idcreatedDate))
  • 作者(只有一个用户名

实际上是一个非常简单的数据库结构。主题可能有许多评论,这些评论是由作者创建的。而且作者可能有很多评论。

我仍在尝试找出设计数据库结构(文档)的最佳方法。首先,我将所有内容放到上面的自己的模式中。 3个文件。但是,由于这是一个nosql db,因此我实际上应该尝试消除对联接的需求。现在我真的在考虑将所有内容放到一个文档中,这听起来也很疯狂。

这些是我实际上从ui查询的内容:

  • 首页查询:列出今天收到最多评论的所有主题(将经常运行)
  • 搜索字段的自动建议列表:列出标题包含字符串“ X”的所有主题]]
  • 主题查询的主页:列出主题的所有评论及其作者的用户名。
  • 由于我的大多数查询都需要至少2个文档中的数据,因此我真的应该像这样在单个文档中一起使用它们:

注释(文本

用户名主题标题创建日期

这样,我将不需要任何加入,而且可以在每个评论中多次保存主题的标题,..

我只是无法决定。

感谢您的帮助。

[我正在尝试构建一个只有以下3种模型的应用程序:主题(仅有一个标题(最多100个字符)。)注释(具有文本(可能很长),author_id,topic_id,createdDate)作者(具有只是一个...

mongodb database-design nosql
2个回答
0
投票

您可以进行建议的第二种设计,但这取决于您要如何使用数据。我认为您将在网站上使用它。


0
投票

由于主要查询/访问的数据为topics,因此它必须是应用程序中的主要集合。其他实体将围绕它建立。

© www.soinside.com 2019 - 2024. All rights reserved.