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 deuser
? - Hoeveel
games
zal een enkeleuser
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.