Виждам, че този въпрос е стар, но за всеки, който се интересува, беше зададен подобен въпрос и един отговор изглежда жизнеспособен 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' }
Актуализация #1
1) Мащабируемост:MongoDB се мащабира добре с много голяма колекция. Милиарди съобщения на колекция. Има техника, наречена шардинг, която може да ви позволи да разделите по-голяма колекция на множество възли.
2) Четене. Тъй като MongoDB има механизми за индексиране, четенията са сравними с всяка фино настроена база данни. Така че четенето няма да е проблем. Особено, когато разговор (група|стая) има по-малко участници, например двама души си изпращат съобщения.