I prefer to do this final assembly within the application (ans sometimes in the front-end) server rather than do it on the data server. It is easier to scale and use less bandwidth (in case of duplicate).
But to do it with the aggregation you will need
- a $set stage that uses $map
- the $map will use events as the input
- for each event being $map-ed, the entry with an account _id, you will need to $mergeObjects with the document from eventAccounts, that matches