有什么方法可以为mongoose.js聚合提供allowDiskUse选项吗



我正在对大约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文档为我工作

相关内容

  • 没有找到相关文章

最新更新