我正在对大约300k多条记录的集合运行聚合,这需要多次展开和重新组合。我遇到了以下错误;
'exception: Exceeded memory limit for $group, but didn't allow external sort. Pass allowDiskUse:true to opt in.'
我似乎不知道如何使用mongoose.js API传递这个选项?
Model.aggregate(..).allowDiskUse(true).exec(callback)
猫鼬api
我们现在没有助手,但Mongoose 3.8.12中将包含一个allowDiskUse()
助手函数,我今天将发布它:https://github.com/LearnBoost/mongoose/issues/2114
如果您想要立即解决方案,或者不想升级到3.8.12(尽管建议升级(,您可以执行以下操作:
var aggregation = MyModel.aggregate(...);
aggregation.options = { allowDiskUse: true };
aggregation.exec(function() {});
const agg = Model.aggregate(..).option({ allowDiskUse: true });
根据Mongoose V6.0.4文档为我工作