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árquicos