我正在对大约300k +记录的集合运行聚合,这需要多次展开和重新组合。我遇到了以下错误;
'exception: Exceeded memory limit for $group, but didn\'t allow external sort. Pass allowDiskUse:true to opt in.'
我似乎无法通过使用mongoose.js API来解决如何传递此选项的问题?
答案 0 :(得分:18)
我们现在没有帮助,但allowDiskUse()
帮助函数将包含在Mongoose 3.8.12中,我今天将发货:https://github.com/LearnBoost/mongoose/issues/2114 < / p>
如果您想立即解决或者不想升级到3.8.12(虽然建议升级),您可以执行以下操作:
var aggregation = MyModel.aggregate(...);
aggregation.options = { allowDiskUse: true };
aggregation.exec(function() {});
答案 1 :(得分:14)
Model.aggregate(..).allowDiskUse(true).exec(callback)