2013-05-19 101 views
0

我開始使用MongoDB,並且在諮詢查詢時遇到問題。以下錯誤總是發生。mongodb中的查詢問題

db.user_tracking.distinct( 「Q」) 太陽20年5月19日:02:01.785的JavaScript執行失敗:不同的失敗:{ 「ERRMSG」: 「異常:獨特太大,16MB帽」, 「代碼」:10044, 「OK」:0 }在SRC /蒙戈/殼/ collection.js:L879

誰能告訴我怎麼解決這個問題? 謝謝。

+4

你可能需要看看這個帖子=> http://stackoverflow.com/questions/11782566/mongodb-select-countdistinct-x-on-an-indexed-column-count-unique -results-for – origin1tech

回答

3

那麼你正在運行的文件結果爲mongoDB 當你調用distinct()方法時,你將收集該給定字段的所有不同值的數組。如果這樣的結果大於16MB,你會得到這個錯誤。

爲了避免這種情況,你可能需要使用聚合框架在那裏你可以收集輸出相同,但分頁結果前:

db.user_tracking.aggregate({$limit: X}, {$skip: Y}, {$group: {_id: "$q"}) 

環圍繞X和Y值,你克服了16MB的限制。

N.

+2

分頁出現在組之前。這意味着,當你分頁時,你會得到重複。 – Joe