Quindi stai guardando da qualche parte nella regione di 100 miliardi di record (1 milione di record * 100.000 utenti).
Il modo migliore per gestire grandi quantità di dati consiste nel creare un cluster partizionato che suddivide i dati su più server presentati come un'unica unità logica tramite il client mongo.
Pertanto, la risposta alla tua domanda è inserire tutti i tuoi record in un'unica raccolta partizionata.
Il numero di shard richiesti e la configurazione del cluster sono correlati alla dimensione dei dati e ad altri fattori come la quantità e la distribuzione di letture e scritture. Le risposte a queste domande sono probabilmente molto specifiche per la tua situazione unica, quindi non tenterò di indovinarle.
Probabilmente inizierei decidendo quanti frammenti hai il tempo e le macchine disponibili per configurare e testare il sistema su un cluster di così tante macchine. In base alle prestazioni, puoi decidere se hai bisogno di più o meno shard nel tuo cluster