【发布时间】:2020-04-14 00:33:34
【问题描述】:
上下文:
我目前正在建模的数据遵循由 4 层组成的深层树模式(类别、子类别、子子类别、子子子类别……这两个最后当然不是我将使用的真实单词) 随着时间的推移,这个集合会变得越来越大,每一层都将包含几十个元素的列表。
问题:
像这样建模一个完整的嵌入式集合会引发一个大问题; MongoDB 的 16MB 文档限制在这种情况下并不理想,因为文档大小会慢慢接近限制。
但与此同时,这些数据并不意味着经常更新(最多一天几次)。在客户端,API 需要返回一个完整构建的大 JSON 文件,该文件由嵌套在一起的所有这些层组成。它可以很容易地以这样一种方式进行,即每次更新层时,完整的 JSON 结果也会更新并存储在 RAM 中,准备发送。
我想知道在不同的集合中拆分这样的 4 层树是否是一个更好的主意,因为同时它会引发更多查询,但它会更具可扩展性和易于理解。但我真的不知道这是否是对 MongoDB 文档进行建模的方式。我可能做错了什么(第一次使用 MongoDB),我想确保一切都已经以这种方式做事
【问题讨论】: