【发布时间】:2019-11-11 15:32:16
【问题描述】:
我的带有 Mongoose 和 MongoDB 的 Node JS 应用程序每天收到大约 15,000-45,000 个帖子。
这些帖子中的每一个都是 Mongo DB 中的单独文档。
在数据结构方面,哪个示例更适合应用程序的寿命和可扩展性:
- 将所有帖子存储在一个名为“帖子”的集合下,为每个帖子文档提供一个{日期:今天的日期,帖子内容:内容}
或
- 为每天的帖子创建一个新集合。例如:Posts.6-29-2019 并将当天的所有帖子存储在该集合中。
从长远来看,什么会更昂贵:
在一个集合中的所有帖子一年的数据之后搜索基本上数百万个帖子?
或者
每天存储数十万条帖子?
【问题讨论】:
-
"数十万个集合" - 不知道现在如何,但 mongodb 曾经有有限的命名空间大小。意思是你可以用完集合。
-
@SergioTulentsev WiredTiger 存储引擎对您可以拥有的集合数量没有设定限制。但是,有一个实际(硬件)限制,因为每个集合和索引都是一个文件。您可能会因打开的文件过多而使硬件不堪重负。示例:SERVER-25025
标签: node.js mongodb mongoose mongodb-query mongoose-schema