如何处理数组大于16MB的MongoDB文档

时间:2016-04-29 11:32:10

标签: mongodb

有一个带有数组的文档,其大小超过16 MB。如何存储此文档以便能够从此数组中查询某些数据。

1 个答案:

答案 0 :(得分:4)

当你有超过16MB限制的文档时,你很可能采用MongoDB的非规范化方法太过分,并且应该考虑为每个数组条目创建另一个包含一个文档的集合(或者为每个明智的数组条目分组创建一个文档)。

另一种选择是将内容视为二进制数据并将其存储为GridFS中的文件,但是您将无法对其内容进行任何有意义的查询(仅针对您为其编写的元数据)它单独)。

16MB限制是硬编码的。您无法通过配置更改它。有a bugtracker ticket for that,它被关闭为“无法修复”。但考虑到MongoDB是开源的,您可以随时在源代码中更改它。当你这样做时,请记住许可条件。