The return value will vary based on the query type. Commands with results
(e.g. aggregate, inline mapReduce) may return an ArrayIterator. Other
commands and operations may return a status array or a boolean, depending
on the driver's write concern. Queries and some mapReduce commands will
return a CursorInterface.