Baseret på dine eksempeldata for beskedapp'en, hvad du kunne gøre, er at have to samlinger:Samtale og Beskeder. Hvor forholdet er én Samtale har mange meddelelser.
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
},
At oprette en ny dokumentbesked ville være bedre i dette tilfælde, da du så kan have to ansøgninger (1 for John og 1 for marry) uden at håndtere muligheden for, at de to af dem opdaterer det samme dokument. De deler tilfældigvis det samme samtalesession.
Hvis en samtale er et enkelt dokument, kan du også ende med et meget stort dokument. (Bekymring om dokumentvækst)
Du kan finde ud af mere om datamodellering for dette mongodb-dokument
http://docs.mongodb.org/manual/core/data-modeling-introduction/
Se også MongoDB:Socialite for eksempler/diskussion til brug af sociale netværk.
Håber det hjælper. Skål.