2015-03-02 110 views
1

這是關於mongodb的建議。我有一個collection,總是逐行增加(我指的是文件的數量)。現在大約有50億。當我在這個collection上提出請求時,我有時會得到大約16 MB大小的錯誤。MongoDB中聚合管道的16 MB大小

我想問的第一件事是哪個結構是創建collections的最佳方式,它可以極大地增加行數。什麼是最好的方法?我應該爲這種結構和表現做些什麼?

回答

1

只是爲了澄清,16MB的限制是在文件,而不是集合。具體而言,其最大BSON文檔大小,如文檔中的this page中所述。

最大BSON文檔大小是16兆字節。

如果您遇到16MB的聚合限制,那是因爲您使用的是MongoDB 2.4或更高版本。在這些文件中,aggregate()方法返回了一個文檔,它與所有其他文檔的限制相同。從2.6開始,aggregate()方法返回一個遊標,該遊標不受16MB限制。有關更多信息,請參閱文檔中的this page。請注意,聚合管道中的每個階段仍然限制爲100MB的RAM。

+0

我使用2.6版本。我仍然得到大小錯誤。例如**組**操作仍然受到限制。 – AknKplnoglu 2015-03-03 08:36:58

+0

爲什麼你編輯這個問題?這不是英語grammaire比賽,是嗎? @Juan Carlos Farah – AknKplnoglu 2015-03-03 08:55:21

+0

如果可能的話,您是否可以顯示您正在獲取的確切錯誤以及您正在運行的聚合查詢以及示例文檔? – 2015-03-03 10:02:55