我正在使用Passportjs和MongoDB处理用户系统项目,该项目具有以下架构:
{ username, email, password}
现在我想存储用户的活动(登录,注销等)。这些数据可能相对较大。
我想知道将用户数据存储在以下架构中是否合适:
{ username, email, password, [act_type, act_time]}
或者更好(性能)使用模式{username,act_type,act_time}创建新集合(如关系数据库)?
答案 0 :(得分:1)
这些数据可能相对较大。
嵌入方面的即时代码红色。最大文档大小为16MB,用户活动很可能很容易超过该文档。
通过查询活动,您还将收到嵌入式文档,您很可能会遇到大量碎片问题,甚至powerof2sizes
都无法帮助解决。
我建议只考虑这两点,将这些数据分成另一个集合(我相信还有更多)。