我目前正在通过MongoDB学习noSQL,但我的学历和工作经验是关系数据库。
我目前有一个用户集合,我需要实现存储用户个人资料页面的网页点击量的功能,以及大约5个以上的统计数据。
我应该创建一个新的集合来存储这些信息,还是应该创建一个嵌入式文档来将这6条信息存储在Users集合中?
谢谢!
答案 0 :(得分:2)
创建嵌入式文档,直到它们不再有意义包含在一个集合中。与用户文档相关的统计信息使存储嵌入式100%有意义。简单地说......用户个人资料有统计数据。对于任何其他收藏品,统计数据没有任何意义。
如果您最终拥有一个真正需要引用的集合,因为许多不同的集合可能引用单个文档,那么将它拆分为集合并使用id引用是有意义的。当您开始考虑在一个嵌入式文档中更改某些内容时必须更新许多其他文档时,最好转移到一个唯一的集合。这样每个文档只引用一个id,它可以随时更改其文档数据。