0

嗨,我是 mongodb 的新手,仍在学习基础知识和结构(来自 sql 世界之后)。

我正在使用 mongo 进行测试项目,我正在存储针对事件的事件。

所以我有一系列事件(在本例中为 2000 年)。现在我想在每个事件旁边存储一个事件(在这种情况下,每个事件有 200,000 条记录)。

SQL : Events (table) (1) <- Occurrence (table) (many)

在 SQL 中,我将有一个一对多的关系来表示这一点。因此一个事件可以有很多次发生。

在 mongodb 中,显示此数据的最佳方式是什么。最好有两个集合一个,事件一个发生。或者一个包含大量文档的集合。

谢谢

4

1 回答 1

1

顺便说一句:几千个文档绝对不是大量数据:)

如果 a) 您永远不会超过单个文档的 16MB 限制,因此每个事件不会有那么多发生,并且 b) 您通常需要给定事件的所有发生,您可以将事件存储在事件文档中,因此,每次需要时从数据库中提取整个文档不会浪费大量带宽。

从您的数字来看,听起来好像每个事件发生了大约 100 次。这很少,在这种情况下,我肯定会考虑将事件存储在事件中(假设每个事件都只是一个时间戳)。

如果您有更多的事件(数千个),和/或如果每个事件都包含大量数据,和/或您很少需要给定事件的所有事件,那么我会将它们放入单独的集合中。

于 2013-09-27T21:24:27.200 回答