Hi Sander,
thank you for your answer.
Probably I don't give you all the useful informations but your questions are in any case interesting (maybe my bad english is complicit). I can be more specific if you have the patience to read:
the application has got a different number of user with different role. Depending on the role le list of product change showing all the product (if you are admin) or some product that you own (if you are a different role). This is the only filter: is related to the user and saved in the DB (mongo).
When you visit the page Angular call a rest API where Express retrieve data from mongo and then respond to Angular with a json like list of object. Angular compile a table with ng-repeat directive and the user can see the correct list of product and the relative properties (name, code, weight, ...).
From this page the button to download an excel file send a request to Express that send a direct download of a file generated with a library. The information of the excel table is the same of the angular view table. So the doubt was if we have to send the object list already available in the angular controller or if from the Express side we should call again mongo and retrieve the product list already knowing user role.
If you are an admin the list of product could be about 1MB in the futur and my perception is that sending an http request with this size of data could slow down the process. From the other side it doesn't request another call to mongoDB.
Perhaps I have been clearer now? What do you think?
Thank you very much!