Mongo:大量集合还是只有一个包含不同类型文档的大型集合?

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

我正在设计一个新系统,允许用户创建他们想要的任何内容类型。我希望有很多内容类型(数千种)。我们将使用 mongoDB。哪种方法更好?

选项 1:大量集合,每种内容类型一个,每个集合中包含一些文档。

选项 2:单个大型集合,存储不同类型的文档。 (我将根据另一个集合来控制每个文档具有哪些字段,其中包含每个内容类型的定义)

我更倾向于第二种选择,为了让分片实现更简单、更有效,我走的路正确吗?我还应该考虑哪些其他注意事项?

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

数据建模概念

选项 1:大量集合,每种内容类型一个,还有一些 每个集合中的文档。

此选项有效,除非您需要连接两个集合中的文档。这意味着存储在不同集合中的文档是独立的。

选项 2:单个大型集合,存储以下文档 不同种类。 (我会控制每个文档基于哪些字段 在另一个集合上,包含每个内容的定义 类型)

这是可能的,但这不是推荐的解决方案。因为用这种方法管理数据非常复杂。您总是需要有一个过滤条件来过滤文档类型。此外,如果您的收藏变得越来越大,您就不必要地查询其他文档。


0
投票

其实我也有同样的问题。 我正在开发一个项目,该项目需要为每个用户提供不同的表格或集合集。所以,假设我有 1000 个用户,为每个用户设置 20 个表来存储各自的数据。因此,每个用户总共有 20000 个表格或集合。现在,我应该选择哪种数据库技术,记住简单性和易于处理是关键。它可以在 mongodb 中工作吗?如果只是 sql 呢?

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