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

Hvornår skal du indlejre dokumenter i Mongo DB

Nøglen her handler mindre om "er dette en relation?" og mere om "hvordan får jeg adgang til dette?"

MongoDB er ikke "anti-reference". MongoDB gør ikke har fordelene ved joins, men det gør det har fordelen af ​​indlejrede dokumenter.

Så længe du forstår disse afvejninger, er det helt fair at bruge referencer i MongoDB. Det handler i virkeligheden om, hvordan du planlægger at forespørge disse objekter.

Måske. Nogle ting at overveje.

  • Lav games har værdi uden for konteksten af ​​user ?
  • Hvor mange games vil en enkelt user har?
  • Er games transaktionsmæssig karakter?
  • Hvordan får du adgang til games ? Har du altid brug for alle en brugers spil?

Hvis du planlægger at bygge leaderboards, og en bruger kan generere hundredvis af spildokumenter, så er det nok rimeligt at have spil i deres egen samling. Det er ikke særlig nyttigt at gemme ti tusinde forekomster af "spil" i hver bruger.

Men afhængigt af dine svar på ovenstående, kan du virkelig gå begge veje. Som lakmustesten ville jeg prøve at køre nogle kort-/reducer-job (dvs. opbyg et simpelt leaderboard ) for at se, hvordan du har det med strukturen af ​​dine data.



  1. Mongoose flere synkrone fund for at genbruge objekt-id

  2. Spring data mongodb applikationsdesign og dataaggregation

  3. Sådan bruger du MongoDB Stitch i Android-apps

  4. Hvordan kan jeg kun få fat i artikler med kommentarer, der blev oprettet for 20 minutter siden?