我有一个用户文档,它有一个名为activityLog的数组字段。用户采取的每个操作都需要在此处记录。 但是,我知道MongoDB的文档大小为16MB。 如果此阵列需要能够容纳数百万个项目,那么这不会超过文档大小限制吗?我该怎么处理?
请大致回答这个问题,即一些通用数组需要保留数百万个项目
答案 0 :(得分:0)
从您描述的用例中,看起来活动日志属于单独的集合。正如您已经提到的,您无法将日志嵌入到用户中,因为数据量增长很多,并且可能超过16 MB的文档大小,因此使用引用是可行的方法。接下来,您必须决定是从用户引用日志还是从日志引用到用户(父引用)。在用户中有一组对日志的引用不如父引用好,因为它仍然可以超出文档大小限制,每次检索用户时也几乎不需要所有用户历史记录。