Então você está olhando para algo em torno de 100 bilhões de registros (1 milhão de registros * 100.000 usuários).
A maneira preferida de lidar com grandes quantidades de dados é criar um cluster fragmentado que divida os dados em vários servidores que são apresentados como uma única unidade lógica por meio do cliente mongo.
Portanto, a resposta à sua pergunta é colocar todos os seus registros em uma única coleção de fragmentos.
O número de estilhaços necessários e a configuração do cluster estão relacionados ao tamanho dos dados e outros fatores, como a quantidade e a distribuição de leituras e gravações. As respostas a essas perguntas provavelmente são muito específicas para sua situação única, então não tentarei adivinhar.
Eu provavelmente começaria decidindo quantos shards você tem tempo e máquinas disponíveis para configurar e testar o sistema em um cluster com tantas máquinas. Com base no desempenho disso, você pode decidir se precisa de mais ou menos estilhaços em seu cluster