MongoDB Find and Aggregate stream

I have a large dataset in user collection. I want to extract all the data and give it to the front end so that they can create a CSV from that data.
what will be the efficient way to do it?

Mongo query: find and aggregate (want to understand both queries)

Is creating a stream a good option? How to do it using Mongoose in nodejs.
Should the back end create a CSV stream and give it to the front end?

Need efficient way and how we can achieve that?
I am using Hapi framework.