Os drivers do MongoDB oferecem APIs idiomáticas e auxiliares para a maioria das linguagens de programação, mas alguns aplicativos são adequados para abstração de nível superior. Em particular, os desenvolvedores podem estar usando a interação com dados de forma mais declarativa, por exemplo , usando o ActiveRecord para Ruby. Object-Relational Mappers (ou ORMs) podem melhorar a experiência do desenvolvedor personalizando interações do banco de dados das seguintes maneiras:
Eliminando a necessidade de linguagem de query.
Gerenciando a serialização/deserialização de dados em objetos.
Implementação de requisitos de esquema.
Como o MongoDB é um sistema de gerenciamento de banco de dados não relacional, os ORMs às vezes são chamados de ODMs (Mapeadores de Documentos de Objetos), mas os termos podem ser usados de forma intercambiável no domínio MongoDB . O MongoDB, nossa comunidade e nossos parceiros fornecem várias bibliotecas ODM.
Veja a seguir alguns exemplos das melhores bibliotecas ODM do MongoDB para diversas linguagens de programação, incluindo Ruby, Python, Java, C#, Node.js e PHP.
Ruby
Mongoid
O Mongoid ODM oficial fornece paridade de API com Rails sempre que possível para garantir que os desenvolvedores usados a trabalhar com uma estrutura Ruby on Rails possam usar os métodos e a mecânica com os quais já estão familiarizados no ActiveRecord.
Consulte a documentação do Mongoid para obter mais informações.
Python
Beanie
Beanie é um ODM Python assíncrono de terceiros baseado em Pydantic. Beanie usa documentos correspondentes para interagir com cada coleção de banco de dados e oferece suporte à adição, atualização e exclusão de documentos. OBeanie economiza seu tempo removendo o código padrão e ajuda você a se concentrar nas partes do aplicativo que realmente importam.
Consulte a documentação do Gone para obter mais informações.
MongoEngine
MongoEngine é um ORM Python síncrono de terceiros para MongoDB. Ele usa uma API declarativa simples e é construído sobre o driver MongoDB PyMongo.
Consulte a documentação do MongoEngine para obter mais informações.
Django
Django MongoDB Backend é a integração oficial do MongoDB para Django e MongoDB. Essa integração oferece suporte a muitos recursos principais do Django, incluindo o Django ORM. Ele traduz os métodos ORM do Django em queries MongoDB equivalentes, permitindo que os desenvolvedores usem a interface familiar do Django.
Consulte a documentação do Backend do Django MongoDB para obter mais informações.
Java
Spring Data MongoDB
Spring Data MongoDB é um Java ORM de terceiros para MongoDB. O projeto Spring Data fornece um modelo de programação familiar e consistente baseado em Spring que é aprimorado por recursos e capacidades específicos do MongoDB. O Spring Data MongoDB usa um modelo baseado em POJO para interagir com coleções e escrever camadas de acesso a dados no estilo de repositório.
Consulte a documentação do Spring Data MongoDB ou o Tutorial de integração do Spring Boot com o MongoDB para obter mais informações.
.NET/C#
Entity Framework
O MongoDB Entity Framework Core Provider (EF Core Provider) é a integração oficial do MongoDB e do EF Core. Ele permite que desenvolvedores que usam C# no ecossistema .NET usem o Entity Framework Core como seu ODM, que fornece uma interface API, um paradigma de query (LINQ) e um padrão de design conhecidos.
Consulte a documentação do fornecedor do EF Core para obter mais informações.
Node.js
Mongoose
Mongoose é um aplicativo de terceiros baseado em Node.js Biblioteca ODM para MongoDB. Ele impõe um esquema específico na camada do aplicação e oferece uma variedade de ganchos, validação de modelo e outros recursos.
Consulte a documentação do Mongoose ou MongoDB & Mongoose: Compatibilidade e comparação para obter mais informações.
Prisma
O Prisma é um ODM de terceiros para Node.js e Typescript que difere fundamentalmente dos ORMs tradicionais. Ele usa esquemas Prisma declarativos como a única fonte da verdade para seu esquema e modelos de banco de dados . O cliente Prisma lê e grava dados de maneira segura por tipo e retorna objetos JavaScript simples.
Consulte Prisma e MongoDB para obter mais informações.
PHP
Doctrine
Doctrine é um ODM MongoDB de terceiros. Essa biblioteca oferece funcionalidade de mapeamento de objeto PHP e persistência transparente para objetos PHP para o MongoDB, bem como um mecanismo para mapear documentos incorporados ou referenciados. Ele também pode criar referências entre documentos PHP em diferentes bancos de dados e trabalhar com buckets GridFS.
Consulte a documentação do Doctrine MongoDB ODM para obter mais informações.
Symfony
O Doctrine MongoDB ODM pode ser usado para integrar o MongoDB com a estrutura PHP do Symfony. O mapeamento de objeto do Doctine permite que os desenvolvedores obtenham os benefícios dos recursos do MongoDB , como design de esquema flexível e pesquisas avançadas, juntamente com os componentes reutilizáveis do Symfony e o design web simplificado.
Consulte a página Integração do Symfony MongoDB para mais informações.
Laravel
Laravel MongoDB é a integração oficial para MongoDB e Laravel. Ele estende os métodos na API PHP Laravel para fornecer aos desenvolvedores o conjunto completo dos recursos Eloquent e Query Builder do Laravel enquanto usa o MongoDB como seu armazenamento de dados. Com este pacote, os desenvolvedores do Laravel podem aproveitar o esquema flexível e os amplos recursos do MongoDB, mantendo padrões, relacionamentos e recursos conhecidos, como query, cache e muito mais.
Consulte a documentação do Laravel MongoDB para obter mais informações.