It can, as long as you store all the fields that will be needed for aggregation. Stored, non-indexed field retrieval can be slow as it might involve a lot of random seeks, so it might be slower than relation dbs.
I mean in the case of _source field that elasticsearc uses. But seems that is separate.
My usecase is I want to do querying+filtering on all fields of the document. In this case you have to:
1.store the field or document so you can get back the value (ex: when querying the document)
2.index the field for filtering
3.separately index the field for aggregation(doc_values)
What use case do you have in mind?