Docs Menu
Docs Home
/ /

ORM, ODM y bibliotecas

Las bibliotecascliente de MongoDB ofrecen API y ayudantes idiomáticos para la mayoría de los lenguajes de programación, pero algunas aplicaciones son aptas para un mayor nivel de abstracción. En particular, los desarrolladores pueden estar acostumbrados a interactuar con los datos de forma más declarativa, por ejemplo, mediante ActiveRecord para Ruby. Mapeadores objeto-relacionales. (o ORM) pueden mejorar la experiencia del desarrollador personalizando las interacciones de la base de datos de las siguientes maneras:

  • Abstrayendo la necesidad del lenguaje de consulta.

  • Gestión de serialización/deserialización de datos en objetos.

  • Hacer cumplir los requisitos del esquema.

Dado que MongoDB es un sistema de gestión de bases de datos no relacionales, a los ORM a veces se les denomina ODM (Mapeadores de Documentos de Objeto), pero estos términos pueden usarse indistintamente en MongoDB. MongoDB, nuestra comunidad y nuestros socios ofrecen varias bibliotecas ODM.

A continuación hay algunos ejemplos de las mejores librerías ODM de MongoDB para una serie de lenguajes de programación, incluidos Ruby, Python, Java, C#, Node.js y PHP.

El ODM oficial de Mongoid proporciona paridad de API con Rails siempre que sea posible para garantizar que los desarrolladores que están acostumbrados a trabajar con un marco Ruby on Rails puedan usar los métodos y las mecánicas con los que ya están familiarizados en ActiveRecord.

Consulte la documentación de Mongoid para obtener más información.

Beanie es un ODM de Python asíncrono de terceros basado en Pydantic. Beanie utiliza los documentos correspondientes para interactuar con cada colección de bases de datos y permite añadir, actualizar y eliminar documentos. Beanie te ahorra tiempo al eliminar código repetitivo y te ayuda a centrarte en las partes de tu aplicación que realmente importan.

Consulte la documentación de Beanie para obtener más información.

MongoEngine es un ORM de Python síncrono de terceros para MongoDB. Utiliza una API declarativa sencilla y está basado en el controlador PyMongo de MongoDB.

Consulte la documentación de MongoEngine para obtener más información.

El Backend MongoDB de Django es la integración oficial de MongoDB para Django y MongoDB. Esta integración es compatible con muchas funcionalidades principales de Django, incluido el ORM de Django. Traduce los métodos del ORM de Django en equivalentes MongoDB queries, lo que permite a los desarrolladores utilizar la interfaz familiar de Django.

Consulta la Documentación del Backend de MongoDB para Django para obtener más información.

La extensión MongoDB para Hibernate ORM es la extensión oficial que integra Hibernate ORM con MongoDB.

Hibernate ORM es un framework de mapeo objeto-relacional para aplicaciones Java que mapea clases Java a tablas de bases de datos relacionales. La extensión MongoDB para Hibernate ORM añade compatibilidad con MongoDB, lo que permite representar e interactuar con datos de MongoDB mediante las capacidades de mapeo y consulta de datos de Hibernate ORM.

Consulte la documentación de la extensión MongoDB para Hibernate ORM para obtener más información.

Spring Data MongoDB es un ORM de Java de terceros para MongoDB. El proyecto Spring Data proporciona un modelo de programación basado en Spring, familiar y consistente, mejorado con características y capacidades específicas de MongoDB. Spring Data MongoDB utiliza un modelo centrado en POJO para interactuar con colecciones y escribir capas de acceso a datos de tipo repositorio.

Consulte la documentación de Spring Data MongoDB o el Tutorial de integración de Spring Boot con MongoDB para obtener más información.

MongoDB Entity Framework Core Provider (EF Core Provider) es la integración oficial entre MongoDB y EF Core. Permite a los desarrolladores que usan C# en el ecosistema .NET usar Entity Framework Core como su ODM, que proporciona una interfaz API familiar, un paradigma de consulta (LINQ) y un patrón de diseño.

Consulta la documentación del proveedor de EF Core para obtener más información.

Mongoose es una biblioteca ODM de terceros basada en Node.js para MongoDB. Aplica un esquema específico en la capa de aplicación y ofrece diversos ganchos, validación de modelos y otras funciones.

Para obtener más información sobre la compatibilidad de Mongoose con el servidor MongoDB, consulte Compatibilidad de versiones del servidor MongoDB en la documentación de Mongoose.

Prisma es un ODM de terceros para Node.js y Typescript que difiere fundamentalmente de los ORM tradicionales. Utiliza esquemas declarativos de Prisma como única fuente de información para el esquema y los modelos de base de datos. El cliente de Prisma lee y escribe datos con seguridad de tipos y devuelve objetos JavaScript sin formato.

Consulte Prisma y MongoDB para obtener más información.

Doctrine es un ODM de MongoDB para PHP de terceros. Esta biblioteca proporciona funcionalidad de mapeo de objetos PHP y persistencia transparente para objetos PHP en MongoDB, así como un mecanismo para mapear documentos incrustados o referenciados. También puede crear referencias entre documentos PHP en diferentes bases de datos y trabajar con buckets de GridFS.

Consulte la documentación de Doctrine MongoDB ODM para obtener más información.

El ODM de Doctrine MongoDB permite integrar MongoDB con el framework PHP Symfony. El mapeo de objetos de Doctine permite a los desarrolladores aprovechar las ventajas de MongoDB, como el diseño flexible de esquemas y las búsquedas avanzadas, junto con los componentes reutilizables y el diseño web optimizado de Symfony.

Consulte la página de integración de Symfony MongoDB para obtener más información.

Laravel MongoDB es la integración oficial de MongoDB y Laravel. Extiende los métodos de la API PHP de Laravel para ofrecer a los desarrolladores el conjunto completo de funciones de Eloquent y Query Builder de Laravel mientras usan MongoDB como almacén de datos. Con este paquete, los desarrolladores de Laravel pueden aprovechar el esquema flexible y las amplias capacidades de MongoDB, manteniendo patrones, relaciones y funciones habituales como consultas, almacenamiento en caché, etc.

Consulte la documentación de Laravel MongoDB para obtener más información.

Volver

Compatibilidad de Azure Cosmos DB

En esta página