sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB:bedste design til beskedapp

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.




  1. Sådan kontrolleres, om et indeks er skjult i MongoDB

  2. Indlejret MongoDB ved kørsel af integrationstest

  3. Forstå Meteor Publish / Abonner

  4. Jedis, kan ikke få jedis-forbindelse:kan ikke hente ressource fra pool