Ik zie dat deze vraag oud is, maar voor iedereen die geïnteresseerd is, werd een soortgelijke vraag gesteld en één antwoord lijkt haalbaar 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' }
Update #1
1) Schaalbaarheid:MongoDB schaalt goed met een zeer grote verzameling. Miljarden berichten per collectie. Er is een techniek genaamd sharding waarmee je een grotere verzameling kunt splitsen naar meerdere knooppunten.
2) Lezen. Omdat MongoDB indexeringsmechanismen heeft, zijn reads vergelijkbaar met elke nauwkeurig afgestelde database-engine. Dus lezen zal geen probleem zijn. Vooral wanneer een gesprek (groep|kamer) minder deelnemers heeft, bijvoorbeeld twee mensen die elkaar berichten sturen.