更好的mongo db模式来存储用户相关信息

时间:2012-12-31 18:48:51

标签: mongodb nosql

假设我必须在mongoDB中存储与特定用户帐户相关的一些数据(例如'州')。

执行此操作的更好选项是什么:收集状态:

1){id: - 在Users集合中相同,[state data]}

2){id: - 状态的一些唯一ID,userId - 来自用户集合的id,[状态数据]}

那么什么是更好的设计决策?

1 个答案:

答案 0 :(得分:1)

这完全取决于您将如何访问应用程序的数据。如果每次需要访问状态时,无论如何都将获取用户数据,将其存储在User集合中是有意义的。

想想博客及其评论,您永远不需要自己获取评论,您总是会获取博客条目和相关评论。

修改 一些注意事项:

  1. 如果您说的这些列表彼此独立,并且每个用户的列表之间不需要参考完整性,那么将它们存储在Users集合中是有意义的

  2. 如果您认为用户文档大于16MB(当前最大文档大小),那么您可能需要考虑分离集合(即不将所有数据存储在一个地方,用户集合)