La chiave qui è meno su "è una relazione?" e altro su "come farò ad accedervi?"
MongoDB non è "anti-riferimento". MongoDB non ha i vantaggi dei join, ma ha hanno il vantaggio dei documenti incorporati.
Finché comprendi questi compromessi, è perfettamente corretto utilizzare i riferimenti in MongoDB. Si tratta davvero di come prevedi di interrogare questi oggetti.
Forse. Alcune cose da considerare.
- Fai
games
hanno un valore al di fuori del contesto dell'user
? - Quanti
games
sarà un singolouser
hai? - Sono
games
natura transazionale? - Come intendi accedere a
games
? Hai sempre bisogno di tutti i giochi di un utente?
Se hai intenzione di creare classifiche e un utente può generare centinaia di documenti di gioco, probabilmente è giusto avere giochi nella propria raccolta. Archiviare diecimila istanze di "gioco" all'interno di ciascun utente non è particolarmente utile.
Ma a seconda delle tue risposte a quanto sopra, potresti davvero andare in entrambi i modi. Come cartina di tornasole, proverei a eseguire alcuni lavori Mappa/Riduci (ovvero creare una semplice classifica ) per vedere come ti senti riguardo alla struttura dei tuoi dati.