MongoDB中16 MB大小的聚合管道

时间:2015-03-02 15:21:17

标签: mongodb database-performance spring-data-mongodb

这是关于mongodb的建议。我有一个collection总是逐行增加(我的意思是文件的数量)。现在大约有50亿。当我对此collection提出请求时,我有时会收到大约16 MB大小的错误。

我想问的第一件事是哪种结构是创建collections的最佳方式,可以大大增加行数。什么是最好的方法?我应该怎么做这种结构和性能?

1 个答案:

答案 0 :(得分:1)

只是澄清一下,16MB的限制是文件,而不是收藏。具体而言,它是文档中this page中指定的最大BSON文档大小。

  

最大BSON文档大小为16兆字节。

如果您在聚合中遇到16MB限制,那是因为您使用的是MongoDB 2.4或更早版本。在这些方法中,aggregate()方法返回了一个文档,该文档受到与所有其他文档相同的限制。从2.6开始,aggregate()方法返回一个游标,该游标不受16MB限制。有关详细信息,请参阅文档中的this page。请注意,聚合管道中的每个阶段仍限制为100MB RAM。