MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB :meilleur design pour l'application de messagerie

Sur la base de vos données d'exemple pour l'application de messagerie, ce que vous pourriez faire est d'avoir deux collections :Conversation et Messages. Là où la relation est une, Conversation a plusieurs 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 
},

La création d'un nouveau message de document serait préférable dans ce cas, car vous pouvez alors avoir deux applications (1 pour john et 1 pour se marier) sans gérer la possibilité que les deux mettent à jour le même document. séance de conversation.

De plus, si une conversation est un document unique, vous pourriez vous retrouver avec un document très volumineux. (Problème de croissance du document)

Vous pouvez en savoir plus sur la modélisation des données pour ce document mongodb

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

Voir également MongoDB :Socialite pour des exemples/discussion de cas d'utilisation de réseaux sociaux.

J'espère que ça aide.Bravo.