Je vois que cette question est ancienne, mais pour toute personne intéressée, une question similaire a été posée et une réponse semble viable https://stackoverflow.com/a/30830429/132610
Conversation : {
id: 123,
members: [ user_id1, user_id2 ]
}
Message { conversationId: 123, author: user_2, body: 'Hi what's up' }
Message { conversationId: 123, author: user_1, body: 'Whanna ask some question on stackoverflow' }
Mise à jour #1
1) Évolutivité :MongoDB évolue bien avec une très grande collection. Des milliards de messages par collection. Il existe une technique appelée sharding qui peut vous permettre de diviser une plus grande collection en plusieurs nœuds.
2) Lecture. Étant donné que MongoDB dispose de mécanismes d'indexation, les lectures sont comparables à n'importe quel moteur de base de données optimisé. La lecture ne sera donc pas un problème. Surtout, lorsqu'une conversation (groupe | salle) a moins de participants, par exemple deux personnes qui s'envoient des messages.