Docs Menu
Docs Home
/

Modelado de datos en MongoDB

El modelado de datos se refiere a la organización de datos dentro de una base de datos y los vínculos entre entidades relacionadas.

MongoDB tiene un modelo de datos flexible que le permite almacenar datos polimórficos, lo que significa:

  • No es obligatorio que los documentos de una misma colección tengan el mismo conjunto de campos.

  • El tipo de dato de un campo puede variar entre documentos dentro de una colección.

Un principio fundamental del modelado de datos en MongoDB es que los datos a los que se accede conjuntamente deben almacenarse juntos. Debe estructurar su modelo de datos en función de los patrones de acceso a datos de su aplicación para optimizar el rendimiento.

Para obtener más información,consulte Mejores prácticas para el modelado de datos en MongoDB.

Considere los siguientes ejemplos que aprovechan la flexibilidad del modelo de documento:

  • Su empresa realiza un seguimiento del departamento en el que trabaja cada empleado. Puede incorporar información del departamento en el employee Colección para devolver información relevante en una sola consulta.

  • Tu aplicación de comercio electrónico muestra las cinco reseñas más recientes en la página de un producto. Puedes guardar todas las reseñas, incluidas las más antiguas, en una colección aparte, ya que no se accede a ellas con tanta frecuencia.

  • Su tienda de ropa necesita crear una aplicación de una sola página para un catálogo de productos. Cada producto tiene atributos diferentes y puede tener campos de documento y tipos de campo diferentes. A pesar de estas diferencias, puede almacenar todos los productos en la misma colección.

Para garantizar que su modelo de datos tenga una estructura lógica y alcance un rendimiento óptimo, planifique su esquema antes de usar la base de datos a escala de producción. Para determinar e implementar su modelo de datos, siga el proceso de diseño de esquemas.

El esquema flexible de MongoDB le permite mejorar iterativamente su modelo de datos a medida que desarrolla su aplicación.

Al desarrollar con el esquema flexible de MongoDB, puede:

  • Asigne su modelo de datos directamente a los objetos que existen en el código.

  • Agregue la validación del esquema solo a las secciones y aspectos de los documentos que necesitan un control más estricto.

Para obtener un ejemplo de cómo puede modificar iterativamente su modelo de datos, consulte Modificar su modelo de datos.

El valor de un campo de documento puede incluir cualquiera de los tipos de datos BSON, incluidos otros documentos, arreglos y arreglos de documentos. Estos objetos se pueden usar para representar diferentes tipos de relaciones en tu modelo de datos, que incluyen:

  • Relaciones uno a uno: Cada documento está asociado exactamente a otro documento. Por ejemplo, un paciente tiene exactamente un registro médico.

  • Relaciones uno a muchos: Cada documento está asociado con varios otros documentos. Por ejemplo, un usuario de una aplicación web puede tener muchas publicaciones o comentarios.

  • Relaciones de varios a varios: Cada documento puede asociarse con varios otros documentos, y viceversa. Por ejemplo, un estudiante puede estar matriculado en varios cursos, y cada curso puede tener varios estudiantes.

En MongoDB, puedes modelar relaciones ya sea embebiendo o referenciando tus datos. Al elegir el mejor método de vinculación de datos, puedes optimizar el modelo de datos para los patrones de acceso específicos de tu aplicación.

Para obtener más información sobre el modelado de relaciones en MongoDB, consulte:

Al diseñar un esquema para una base de datos de documentos como MongoDB, tenga en cuenta las siguientes diferencias importantes con las bases de datos relacionales:

Comportamiento de base de datos relacional
Comportamiento de la base de datos de documentos

Debes determinar el esquema de una tabla antes de insertar datos. Si bien puedes cambiar tu modelo de datos en una base de datos relacional, un esquema fijo requiere una mayor planificación inicial, incluido considerar cómo los cambios afectan a las referencias dependientes.

Puede cambiar fácilmente su modelo de datos con el tiempo a medida que evolucionan las necesidades de su aplicación.

A menudo es necesario unir datos de varias tablas diferentes para devolver los datos que necesita su aplicación.

El modelo de datos flexible le permite almacenar datos según los patrones de acceso de su aplicación. Por ejemplo, laincrustación de datos le permite evitar uniones complejas entre varias colecciones, a la vez que mejora el rendimiento y reduce la carga de trabajo de su implementación.

  • Mejores prácticas para el modelado de datos en MongoDB

  • Modelado de datos en MongoDB Compass

Volver

Referencia

Obtén una insignia de habilidad

¡Domina el "Modelo relacional orientado a documentos" gratis!

Más información

En esta página