public async Task StatsAggregation() { Response.Headers[HeaderNames.ContentType] = "text/csv"; Response.StatusCode = (int)HttpStatusCode.OK; await Response.WriteAsync("Day,StatsCount,AvgMinutesTracked,TotalMinutesTracked,AvgMinutesAtHome,TotalMinutesAtHome,AvgBoundingBoxDiagonal" + Environment.NewLine); var cursor = await Mongo.GetAggregatedDailyStats(); while (await cursor.MoveNextAsync()) { foreach (var stats in cursor.Current) { await Response.WriteAsync(string.Join(",", stats.Day.ToString("yyyy-MM-dd"), stats.Count, stats.AverageMinutesTracked.ToString("F2"), stats.TotalMinutesTracked, stats.AverageMinutesAtHome.ToString("F2"), stats.TotalMinutesAtHome, stats.AverageBoundingBoxDiagonal.ToString("F2") ) + Environment.NewLine); } } }