0

我开始使用MongoDB,但在咨询查询时遇到问题。以下错误总是发生。

db.user_tracking.distinct("q") Sun May 19 20:02:01.785 JavaScript execution failed: distinct failed: { "errmsg" : "exception: distinct too big, 16mb cap", "code" : 10044, "ok" : 0 } 在 src/mongo/shell/collection.js:L879

谁能告诉我如何解决这个问题?谢谢。

4

1 回答 1

3

好吧,您在mongoDB中遇到了 16MB 的文档结果。 当您调用该distinct()方法时,您将收集该给定字段的所有不同值的数组。如果这样的结果大于 16MB,你会得到这个错误。

为避免这种情况,您可能希望使用聚合框架,您可以在其中收集相同的输出但对结果进行分页:

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

围绕 X 和 Y 值循环,您就可以克服 16MB 的限制。

N。

于 2013-05-21T16:44:46.247 回答