sql >> Base de Datos >  >> NoSQL >> MongoDB

Cuándo incrustar documentos en Mongo DB

La clave aquí es menos sobre "¿es esto una relación?" y más sobre "¿cómo voy a acceder a esto?"

MongoDB no es "anti-referencia". MongoDB no tiene los beneficios de las uniones, pero los tiene tener el beneficio de los documentos incrustados.

Siempre que comprenda estas compensaciones, es perfectamente justo usar referencias en MongoDB. Realmente se trata de cómo planeas consultar estos objetos.

Quizás. Algunas cosas a considerar.

  • Haz games tienen valor fuera del contexto del user ?
  • ¿Cuántos games será un único user tener?
  • Es games de naturaleza transaccional?
  • ¿Cómo vas a acceder a games? ? ¿Siempre necesitas todos los juegos de un usuario?

Si planea crear tablas de clasificación y un usuario puede generar cientos de documentos de juegos, probablemente sea justo tener juegos en su propia colección. Almacenar diez mil instancias de "juego" dentro de cada usuario no es particularmente útil.

Pero dependiendo de sus respuestas a lo anterior, realmente podría ir en cualquier dirección. Como prueba de fuego, intentaría ejecutar algunos trabajos Map / Reduce (es decir, crear una tabla de clasificación simple ) para ver cómo te sientes acerca de la estructura de tus datos.