MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB:най-добрият дизайн за приложение за съобщения

Въз основа на вашите примерни данни за приложението за съобщения, това, което бихте могли да направите, е да имате две колекции:разговор и съобщения. Когато връзката е една, разговорът има много съобщения.

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

Създаването на ново съобщение за документ би било по-добре в този случай, тъй като тогава можете да имате две приложения (1 за Джон и 1 за женитба), без да се справяте с възможността двамата да актуализират един и същ документ. Те просто споделят едно и също разговорна сесия.

Освен това, ако разговорът е единичен документ, може да се окажете с много голям документ. (Загриженост за растежа на документа)

Можете да научите повече за моделирането на данни за този документ на mongodb

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

Вижте също MongoDB:Socialite за примери/дискусия за случаи на използване на социални мрежи.

Надявам се да помогне. Наздраве.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Какъв е добър избор на база данни за малко .NET приложение?

  2. Кой е най-добрият начин за съхраняване на дати в MongoDB?

  3. Преобразувайте ObjectID (Mongodb) в String в JavaScript

  4. Оперативни фактори, които трябва да се вземат предвид по време на моделиране на данни на MongoDB

  5. Как да възстановите конкретна колекция в MongoDB с помощта на логическо архивиране