我是 noSQL 数据库(MongoDB)的新手,我不确定如何组织集合。我有一个用户系统,每个用户都有:
- _ID
- 用户名
- 密码
- ...(更多基本数据)
- 朋友们
- 信誉积分
- 声望点历史
- 通知
- 已加入的用户组
基本数据通常存储在集合用户中,但我不知道如何存储像朋友列表这样的复杂数据。
我应该在每个用户对象中(在用户集合中)存储一个_id 数组之类的朋友,还是应该创建一个新集合来只存储朋友?如果我创建这个新集合,它应该像用户的 _id 和它的朋友的数组,或者像用户 => 朋友 _id 这样的对。
通知和历史记录也是如此。和朋友有同样的问题,但是这些情况下数组的大小可能会大很多,所以使用新集合的想法更强烈。