Baserat på dina exempeldata för meddelandeappen, vad du kan göra är att ha två samlingar:Konversation och Meddelanden. Där relationen är en Konversation har många meddelanden.
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
},
Att skapa ett nytt dokumentmeddelande skulle vara bättre i det här fallet, eftersom du då kan ha två ansökningar (1 för john och 1 för marry) utan att hantera möjligheten att de två uppdaterar samma dokument. De råkar bara dela samma sak. konversationssession.
Dessutom, om en konversation är ett enda dokument, kan du sluta med ett mycket stort dokument. (Dokumenttillväxtproblem)
Du kan ta reda på mer om datamodellering för detta mongodb-dokument
http://docs.mongodb.org/manual/core/data-modeling-introduction/
Se även MongoDB:Socialite för exempel/diskussion för användning av sociala nätverk.
Hoppas det hjälper. Skål.