Mongodb里我对于用户activities应该另建一个collection还是放在user collection里?

我需要跟用户呈现他活动的时间轴

现在有两种方案一种是,
把用户的活动放在user collection里,缺点是可能会放很多东西
另一种方案是,
新建一张activities collection,用userId做index
但其实我并不需要同时看多个用户的activities

阅读 3.6k
1 个回答

对于你的需求,建议另加一个collection,采用userId做关联,尽管mongodb优先建议做内嵌处理。分析你的activities既然是用来做用户的活动时间轴,那基本上是每个用户都应该有的。另外,根据你的描述activities会放很多东西,尽管目前mongodb对于单个doucment扩展其大小到16M,但是内容太大的话仍会超出其限制,而且对查询等也会有一定影响。对于此种情况,mongodb也会建议做冗余连接,来模拟SQL的连接查询。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进