Jag ser att den här frågan är gammal, men för alla intresserade ställdes en liknande fråga och ett svar ser rimligt ut 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' }
Uppdatering #1
1) Skalbarhet:MongoDB skalar bra med mycket stor samling. Miljarder meddelanden per samling. Det finns en teknik som kallas sharding som gör att du kan dela upp en större samling till flera noder.
2) Läsning. Eftersom MongoDB har indexeringsmekanismer är läsningar jämförbara med vilken finjusterad databasmotor som helst. Så läsning kommer inte att vara ett problem. Speciellt när en konversation(grupp|rum) har färre deltagare, till exempel två personer som skickar meddelanden till varandra.