新しいユーザーが接続するたびに新しいデータベース接続を開く必要はありません。 MongoDBは新しい接続ごとに新しいスレッドを使用するため、2万人以上の同時ユーザーに簡単に拡張できるかどうかはわかりません。特にWebの使用は非常に非同期でイベント駆動型であるため、Webアプリのバックエンドで1つから数個のデータベース接続を開き、それらをプールで使用する必要があります。
参照: http://www.mongodb.org/display/DOCS/Connections
使用しているドライバーが何であれ、それらが接続を処理する方法と、それらがプールするかどうかを確認する必要があります。たとえば、NodeのMongooseは非ブロッキングであるため、通常はアプリごとに1つの接続を使用します。これはおそらくあなたが望むようなものです。