当我使用聚合排序时,出现错误代码 16819
的 mongo 错误 exceeded memory limit
。
我使用的是 mongo 2.6。
查询如下:
db.BASE_TABLE_CREATION_ExecuteHiveScript_26_V0.aggregate([
{ "$project" : { "visitor_localdate" : 1 , "_id" : 0}},
{ "$sort" : { "visitor_localdate" : -1}}
])
最佳答案
默认情况下,MongoDB 中的聚合发生在内存中,管道阶段有 100 Mb RAM 的限制。看起来你已经超过了这个阈值。要处理大型数据集,您应该启用聚合管道阶段以将数据写入临时文件。使用 allowDiskUse
选项:
db.BASE_TABLE_CREATION_ExecuteHiveScript_26_V0.aggregate([
{ "$project" : { "visitor_localdate" : 1 , "_id" : 0}},
{ "$sort" : { "visitor_localdate" : -1}}
], { "allowDiskUse" : true })
关于mongodb - 使用聚合时出现Mongo错误: sort exceeded memory limit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26375017/