En la web de MongoDB o googleando podéis encontrar mucha información sobre las recomendaciones de cuando usar un modelado de documentos embebidos (Embedding) o bien referenciar a otro documento (Referencing).

En este post queremos hacer una lista rápida (de esas que no se olvidan 🙂 ):

Embedding:

  • En general Datos 1:1 o 1:Many son candidatos a documentos embebidos pero no siempre es así…

Referencing:

  • Cuando un documento es frecuentemente leído pero tiene un documento embebido que raramente es acceido: por ejemplo un Cliente con su Informe anual. En este caso Embedding incrementa la memoria, el flujo de datos a traer,…
  • Cuando una parte del documento es frecuentemente actualizada y crece en tamaño mientras que el resto del documento es relativamente estático
  • Cuando el documento excede el tamaño de 16 MB que tiene de límite actual MongoDB
  • Cuando el objeto es referenciado desde diferentes fuentes
  • Para representar relaciones complejas many-to-many
  • Para data-set jerárquico.