Vous ne voulez pas ouvrir une nouvelle connexion à la base de données chaque fois qu'un nouvel utilisateur se connecte. Je ne sais pas si vous pourrez facilement passer à plus de 20 000 utilisateurs simultanés, car MongoDB utilise un nouveau thread pour chaque nouvelle connexion. Vous souhaitez que le backend de votre application Web n'ait qu'une à quelques connexions de base de données ouvertes et n'utilise que celles d'un pool, d'autant plus que l'utilisation du Web est très asynchrone et pilotée par les événements.
voir :http://www.mongodb.org/display/DOCS/Connections
Quel que soit le pilote que vous utilisez, vous devrez découvrir comment il gère les connexions et s'il se regroupe ou non. Par exemple, Node's Mongoose n'est pas bloquant et vous utilisez donc généralement une connexion par application. C'est le genre de chose que vous voulez probablement.