您好我是mongodb的新手并且仍在学习基础知识和结构(来自sql世界之后)。
我正在使用mongo进行测试项目,我在那里存储针对事件的事件。
所以我有一系列事件(在本例中为2000)。现在我想在每个事件旁边存储一个事件(在这种情况下,每个事件200,000条记录)。
SQL : Events (table) (1) <- Occurrence (table) (many)
在SQL中,我将有一对多关系来表示这一点。因此,一个事件可能有很多事件发生。
在mongodb中,显示此数据的最佳方式是什么。是否最好有两个集合一个,事件一个出现。或者一个包含大量文档的集合。
由于
答案 0 :(得分:1)
除此之外:几千份文件肯定不是大量数据:)
您可以将事件存储在事件文档中,如果a)您永远不会超过单个文档的16MB限制,因此您没有 每个事件发生多次,并且b)您通常需要为给定事件发生所有事件,因此每次需要时从数据库中提取整个文档并不会浪费大量带宽。
从您的数字来看,听起来好像每个事件大约有100次出现。这很少,我肯定会考虑在这种情况下将事件存储在事件中(假设每次出现只是一个时间戳)。
如果你有更多的出现(成千上万),和/或如果每次出现都包含大量的数据,和/或你很少想要给定事件的所有出现,那么我会将它们放入单独收集。