We should be able to get aggregation results out via a cursor as if they were a regular query.
GetMore shouldn't swallow errors
Support Aggregate Command Returning a Cursor
Aggregation command can optionally return a cursor
Support aggregation output as a cursor
Support aggregation output as a cursor.
aggregation: unsharded support $out
aggregation: support $out on a sharded cluster
Document cursor based aggregation
Make the cursor option to the aggregate command optional again
system for commands to return cursors