Cuando aprende por primera vez a trabajar con una base de datos, todo se reduce a dos tipos de configuraciones de bases de datos que son ORM (asignación de relación de objeto) y ODM (asignación de documento de objeto)
ORM, que consiste en mapear un objeto con un mundo relacional, básicamente convierte datos entre tipos incompatibles en lenguajes de programación orientados a objetos. ORM envuelve los detalles específicos de implementación de los controladores de almacenamiento en una API (interfaz del programa de aplicación) y asigna los campos relacionales a los miembros de un objeto. Por ejemplo, si tengo una tabla de empleados, se asigna a un solo objeto para todos los empleados, con varios métodos asociados.
ODM, por otro lado, es un Object Document Mapper, que asigna objetos con una base de datos de documentos como MongoDB.
La principal diferencia es que ORM es para bases de datos MySQL, mientras que ODM hace el mapeo para la representación de datos en el documento. La mejor manera de recordar lo que hace ORM sería pensarlo como una hoja de cálculo de Excel, con filas y columnas. Al usar esta configuración, desea asegurarse de tener un gran plan sobre cómo desea abordar la aplicación actual, no permite tantas modificaciones como lo hace ODM. Con ODM podemos agregar nuevos campos y propiedades fácilmente, pero con ORM al agregar un nuevo campo, debe tener en cuenta que nada queda vacío, por lo que necesita un valor predeterminado, a menos que desee entrar en cada uno y modificarlo.