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

¿Documento incrustado frente a referencia en el modelo de diseño de mangosta?

Depende principalmente de cómo consultará y actualizará sus datos. La consistencia y el tamaño del documento también son importantes en este caso. Aquí hay un buen resumen sobre cómo hacer referencia o incrustar documentos:

Incrustación:

  • Subdocumentos pequeños
  • Datos que no cambian regularmente
  • La consistencia eventual es aceptable
  • Documento que crece poco
  • Datos que a menudo necesitará realizar una segunda consulta para obtenerlos
  • Lecturas rápidas

Referencia:

  • Subdocumentos grandes
  • Datos volátiles
  • La consistencia inmediata es necesaria
  • Documento que crece mucho
  • Datos que a menudo excluirá de los resultados
  • Escritura rápida

Este es un extracto de un libro sobre mongo que leí. Estas son solo reglas generales, pero según mi experiencia, su uso deja muy claro si hacer referencia o incrustar la mayoría de las veces.

Preferiría hacer referencia a Forum en este caso. Pero por favor considere todos sus requisitos. Por ejemplo, si hace referencia al foro del usuario y necesita consultar a todos los usuarios de un foro en particular, la consulta podría ser lenta en este caso. Si yo fuera usted, redactaría una lista de todo lo que necesito y luego, usando reglas generales, encontraría un equilibrio entre los pros y los contras de incrustar y hacer referencia.

¡Espero que ayude!