Al ejecutar una consulta costosa obtengo el siguiente error:
MongoCommandException: Command aggregate failed: Exceeded memory limit for $group, but didn’t allow external sort. Pass allowDiskUse:true to opt in..
Para solucionarlo se debe dar pasar la opción de AllowDiskUse a true.
Os pego un ejemplo
1 2 3 4 5 6 |
var aggregateArgs = new MongoDB.Driver.AggregateOptions { AllowDiskUse = true }; var result= await _model.Document.Aggregate(aggregateArgs).Match(p => p.EstadoInterno == (int)EstadoInternoEnum.Procesado).Group(key => key.Personal, value => new ResultadoAgrupado { Nombre = value.Key, Cantidad = value.Count() }) .Match(r => r.Cantidad >= cantidad) .SortByDescending(r=>r.Cantidad).ToListAsync(); |