sql >> Database >  >> NoSQL >> MongoDB

Wanneer documenten in Mongo DB insluiten?

De sleutel hier gaat minder over "is dit een relatie?" en meer over "hoe krijg ik hier toegang toe?"

MongoDB is niet "anti-referentie". MongoDB doet niet hebben de voordelen van joins, maar doet dat wel hebben het voordeel van ingesloten documenten.

Zolang je deze afwegingen begrijpt, is het volkomen eerlijk om referenties in MongoDB te gebruiken. Het gaat er echt om hoe je van plan bent deze objecten te doorzoeken.

Kan zijn. Enkele dingen om te overwegen.

  • Doe games waarde hebben buiten de context van de user ?
  • Hoeveel games zal een enkele user hebben?
  • Is games transactie van aard?
  • Hoe krijg je toegang tot games ? Heb je altijd alle games van een gebruiker nodig?

Als je van plan bent om scoreborden te maken en een gebruiker honderden gamedocumenten kan genereren, dan is het waarschijnlijk eerlijk om games in hun eigen collectie te hebben. Het is niet erg handig om tienduizend exemplaren van "game" in elke gebruiker op te slaan.

Maar afhankelijk van uw antwoorden op het bovenstaande, kunt u echt alle kanten op. Als lakmoesproef zou ik proberen een aantal Map / Reduce-taken uit te voeren (d.w.z. een eenvoudig scorebord bouwen ) om te zien hoe u denkt over de structuur van uw gegevens.



  1. Verbinding maken met Mongo-database via SSH-tunnel in Java

  2. Hoe te groeperen op meerdere velden in MongoDB wanneer één een datumveld is

  3. hoe meerdere keren voorkomen van een zin mongodb . te vervangen

  4. Redis installeren op Debian 9