有没有办法为mongoose.js聚合提供allowDiskUse选项?

时间:2014-05-27 16:05:59

标签: node.js mongodb mongoose aggregation-framework

我正在对大约300k +记录的集合运行聚合,这需要多次展开和重新组合。我遇到了以下错误;

'exception: Exceeded memory limit for $group, but didn\'t allow external sort. Pass allowDiskUse:true to opt in.'

我似乎无法通过使用mongoose.js API来解决如何传递此选项的问题?

2 个答案:

答案 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)

mongoose api