sql >> Database >  >> NoSQL >> MongoDB

MongoDB:beste ontwerp voor berichten-app

Op basis van uw voorbeeldgegevens voor de berichten-app, zou u twee verzamelingen kunnen hebben:conversatie en berichten. Waar de relatie één is, heeft conversatie veel berichten.

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

Het maken van een nieuw documentbericht zou in dit geval beter zijn, omdat u dan twee toepassingen kunt hebben (1 voor john en 1 voor trouwen) zonder de mogelijkheid aan te pakken dat ze hetzelfde document bijwerken. Ze delen toevallig hetzelfde gesprek sessie.

Als een gesprek een enkel document is, kan het ook zijn dat u een heel groot document krijgt. (Bezorgdheid over documentgroei)

U kunt meer te weten komen over gegevensmodellering voor dit mongodb-document

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

Zie ook MongoDB:Socialite voor voorbeelden/discussie voor gebruik van sociale netwerken.

Ik hoop dat het helpt. Proost.




  1. Spring-data-mongodb multi-tenant maken

  2. Toegang opnieuw verkrijgen vanuit MS Excel?

  3. Een MongoDB-databaseverbinding openhouden

  4. HBase BlockCache 101