MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB:melhor design para aplicativo de mensagens


Com base em seus dados de exemplo para o aplicativo de mensagens, o que você pode fazer é ter duas coleções:Conversation e Messages.Where the relationship is one Conversation have many Messages.
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 
},

Criar uma nova mensagem de documento seria melhor neste caso, pois você pode ter dois aplicativos (1 para john e 1 para casar) sem lidar com a possibilidade de os dois atualizarem o mesmo documento. sessão de conversa.

Além disso, se uma conversa for um único documento, você pode acabar com um documento muito grande. (Preocupação com o crescimento do documento)

Você pode descobrir mais sobre modelagem de dados para este documento mongodb

http://docs.mongodb.org/manual/core/data-modeling-introduction/

Veja também MongoDB:Socialite para exemplos/discussão de caso de uso de rede social.

Espero que ajude. Cheers.