假设我必须在mongoDB中存储与特定用户帐户相关的一些数据(例如'州')。
执行此操作的更好选项是什么:收集状态:
1){id: - 在Users集合中相同,[state data]}
2){id: - 状态的一些唯一ID,userId - 来自用户集合的id,[状态数据]}
那么什么是更好的设计决策?
答案 0 :(得分:1)
这完全取决于您将如何访问应用程序的数据。如果每次需要访问状态时,无论如何都将获取用户数据,将其存储在User集合中是有意义的。
想想博客及其评论,您永远不需要自己获取评论,您总是会获取博客条目和相关评论。
修改强> 一些注意事项:
如果您说的这些列表彼此独立,并且每个用户的列表之间不需要参考完整性,那么将它们存储在Users集合中是有意义的
如果您认为用户文档大于16MB(当前最大文档大小),那么您可能需要考虑分离集合(即不将所有数据存储在一个地方,用户集合)