Na podstawie przykładowych danych dla aplikacji do przesyłania wiadomości możesz utworzyć dwie kolekcje:Rozmowa i Wiadomości.Gdy relacja jest jedna Rozmowa zawiera wiele wiadomości.
Conversation:
{ id: 123
participants: ['john', 'marry'],
}
Message:
{ sender: 'john',
content: 'howdy',
time_created: new Date(),
converstationId: 123
},
{ sender: 'marry',
content: 'good u',
time_created: new Date(),
converstationId: 123
},
Utworzenie nowej wiadomości w dokumencie byłoby w tym przypadku lepsze, ponieważ możesz mieć dwie aplikacje (1 dla Jana i 1 dla małżeństwa) bez możliwości aktualizacji tego samego dokumentu przez dwoje. sesja konwersacyjna.
Ponadto, jeśli rozmowa jest pojedynczym dokumentem, możesz skończyć z bardzo dużym dokumentem. (Zaniepokojenie wzrostem dokumentów)
Możesz dowiedzieć się więcej o modelowaniu danych w tym dokumencie mongodb
http://docs.mongodb.org/manual/core/data-modeling-introduction/
Zobacz także MongoDB:Socialite, aby zapoznać się z przykładami/dyskusją na temat przypadku użycia sieci społecznościowej.
Mam nadzieję, że to pomoże.Pozdrawiam.