sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:mejor diseño para aplicación de mensajería

Según sus datos de ejemplo para la aplicación de mensajería, lo que podría hacer es tener dos colecciones:Conversación y Mensajes. Donde la relación es una Conversación tiene muchos Mensajes.

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 
},

Crear un nuevo mensaje de documento sería mejor en este caso, ya que puede tener dos aplicaciones (1 para John y 1 para casarse) sin manejar la posibilidad de que los dos actualicen el mismo documento. Simplemente comparten el mismo sesión de conversación.

Además, si una conversación es un solo documento, es posible que termine con un documento muy grande. (Preocupación por el crecimiento del documento)

Puede obtener más información sobre el modelado de datos para este documento de mongodb

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

Consulte también MongoDB:Socialite para ver ejemplos/discusiones sobre casos de uso de redes sociales.

Espero que ayude. Saludos.