Hi @Green,
First Atlas provide a nice free 4 ever tier to experience this involves realm as well, you should try it.
You can union same collection data with different pipeline filters.
Well the union is for public and private data so even if one is filtered and public is not a union needs to be used to bring the additional data set.
Now if you just query by id the additional fields could be fetched from the pointed document by the index. But if you need to filter by more complex or other criteria you should build additional indexes.
We have a notion of covered queries in MongoDB where if index also have project fields it can avoid accessing the doc but if you need to fetch arbitrary or large amount of fields maintain a large index for that is unadvaised…
MongoDB can use index intersection in $or but it considered a non selective pattern and should be avoided if possible…
Thanks
Pavel