将大数据存储在Mongo Object数组中?

时间:2014-03-28 07:24:41

标签: mongodb mongoose

我正在使用Passportjs和MongoDB处理用户系统项目,该项目具有以下架构:

{ username, email, password}

现在我想存储用户的活动(登录,注销等)。这些数据可能相对较大。

我想知道将用户数据存储在以下架构中是否合适:

{ username, email, password, [act_type, act_time]}

或者更好(性能)使用模式{username,act_type,act_time}创建新集合(如关系数据库)?

1 个答案:

答案 0 :(得分:1)

  

这些数据可能相对较大。

嵌入方面的即时代码红色。最大文档大小为16MB,用户活动很可能很容易超过该文档。

通过查询活动,您还将收到嵌入式文档,您很可能会遇到大量碎片问题,甚至powerof2sizes都无法帮助解决。

我建议只考虑这两点,将这些数据分成另一个集合(我相信还有更多)。