Kuncinya di sini kurang tentang "apakah ini sebuah relasi?" dan lebih lanjut tentang "bagaimana saya akan mengakses ini?"
MongoDB bukan "anti-referensi". MongoDB tidak memiliki manfaat bergabung, tetapi melakukannya mendapatkan manfaat dari dokumen yang disematkan.
Selama Anda memahami pertukaran ini, maka sangat adil untuk menggunakan referensi di MongoDB. Ini benar-benar tentang bagaimana Anda berencana untuk menanyakan objek-objek ini.
Mungkin. Beberapa hal yang perlu dipertimbangkan.
- Lakukan
games
memiliki nilai di luar konteksuser
? - Berapa banyak
games
akankah satuuser
punya? - Apakah
games
bersifat transaksional? - Bagaimana Anda akan mengakses
games
? Apakah Anda selalu membutuhkan semua game pengguna?
Jika Anda berencana membuat papan peringkat dan pengguna dapat membuat ratusan dokumen game, maka mungkin adil untuk memiliki game dalam koleksi mereka sendiri. Menyimpan sepuluh ribu "permainan" di dalam setiap pengguna tidak terlalu berguna.
Tetapi tergantung pada jawaban Anda di atas, Anda benar-benar bisa memilih keduanya. Sebagai tes lakmus, saya akan mencoba menjalankan beberapa pekerjaan Peta/Kurangi (yaitu membuat papan peringkat sederhana ) untuk melihat bagaimana perasaan Anda tentang struktur data Anda.