sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB:nejlepší design aplikace pro zasílání zpráv

Na základě vašich vzorových dat pro aplikaci pro zasílání zpráv byste mohli mít dvě sbírky:Konverzace a Zprávy. Pokud je vztah jeden, Konverzace má mnoho zpráv.

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

V tomto případě by bylo lepší vytvořit zprávu nového dokumentu, protože pak můžete mít dvě aplikace (1 pro Jana a 1 pro marry), aniž byste museli řešit možnost, že by oba aktualizovali stejný dokument. Náhodou sdílejí stejný dokument. konverzační relace.

Pokud je konverzace jedním dokumentem, můžete skončit s velmi velkým dokumentem. (Zájem o růst dokumentů)

Můžete se dozvědět více o datovém modelování pro tento mongodb doc

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

Podívejte se také na MongoDB:Socialite pro příklady/diskusi pro případ použití sociální sítě.

Doufám, že to pomůže. Na zdraví.




  1. WRONGTYPE Operace proti klíči s nesprávným typem hodnoty php

  2. Jak stránkovat s Mongoose v Node.js?

  3. Najít klíč podle hodnoty

  4. Vytvoření objektu BSON z řetězce JSON