Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Junte-se a nós no Amazon Web Services re:Invent 2024! Saiba como usar o MongoDB para casos de uso de AI .
Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
MongoDBchevron-right

ORMs, ODMs e bibliotecas do MongoDB

Alex Bevilacqua3 min read • Published Oct 31, 2022 • Updated Aug 28, 2024
MongoDBRubyPythonJava
Ícone do FacebookÍcone do Twitterícone do linkedin
ODMs, ORMs e bibliotecas do MongoDB
Avalie esse Artigo
star-empty
star-empty
star-empty
star-empty
star-empty
Embora os desenvolvedores sempre tenham sido capazes de escrever manualmente queries complexas para interagir com um banco de dados, essa abordagem pode ser entediante e propensa a erros. Mapeadores relacionais de objetos (ou ORMs) melhoram a experiência do desenvolvedor, pois realizam várias tarefas significativas:
  • Facilitar as interações entre o banco de dados e uma aplicação, abstraindo a necessidade de escrever SQL bruto ou linguagem de query de banco de dados.
  • Gerenciar a serialização/desserialização de dados em objetos.
  • Aplicação do esquema.
Embora seja verdade que o MongoDB oferece drivers com APIs idiomáticas e auxiliares para a maioria das linguagens de programação, às vezes, uma abstração de nível mais alto é desejável. Os desenvolvedores estão acostumados a interagir com dados de forma mais declarativa (LINQ para C#, ActiveRecord para Ruby etc.) e um ORM facilita a manutenção e a reutilização do código, permitindo que os desenvolvedores interajam com dados como objetos.
O MongoDB fornece várias bibliotecas do tipo ORM, e nossa comunidade e parceiros também! Às vezes, elas são chamadas de ODMs (Object Document Mappers), pois o MongoDB não é um sistema de gerenciamento de banco de dados relacional. No entanto, elas existem para resolver o mesmo problema que os ORMs e a terminologia pode ser usada de forma intercambiável.
Veja a seguir alguns exemplos das melhores bibliotecas ORM ou ODM MongoDB para várias linguagens de programação, incluindo Ruby, Python, Java, Node.js e PHP.

Beanie

Beanie é um mapeador de documentos de objeto (ODM) Python assíncrono para MongoDB, baseado em Motor (um driver MongoDB assíncrono) e Pydantic.
Ao usar o Beanie, cada coleção de banco de dados tem um documento correspondente que é usado para interagir com essa coleção. Além de recuperar dados, o Beanie permite adicionar, atualizar e excluir documentos da coleção. O Beanie economiza seu tempo ao remover o código clichê e ajuda você a se concentrar nas partes do seu aplicativo que realmente importam.
Consulte a documentação do Beanie para obter mais informações.

Doctrine

O Doctrine é um PHP MongoDB ORM, embora seja referido como um ODM. Essa biblioteca fornece funcionalidade de mapeamento de objetos PHP e persistência transparente para objetos PHP no MongoDB, bem como um mecanismo para mapear documentos incorporados ou referenciados. Ela 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.

Mongoid

A maioria dos aplicativos baseados em Ruby são criados usando a estruturaRuby on Rails. Como resultado, a implementação do Active Record, as convenções, a API CRUD e os mecanismos de retorno de chamada do Rails são de segunda natureza para os desenvolvedores Ruby. Assim, no que diz respeito a um MongoDB ORM para Ruby, o Mongoid ODM fornece paridade de API sempre que possível para garantir que os desenvolvedores que trabalham com um aplicativo Rails e usam o MongoDB possam fazê-lo usando métodos e mecânicas com os quais já estão familiarizados.
Consulte a documentação do Mongoid para mais informações.

Mongoose

Se você está procurando um ORM para NodeJS e MongoDB, o Mongoose é a opção perfeita. Essa biblioteca de modelagem de dados de objetos (ODM) baseada no Node.js para MongoDB é semelhante a um Mapeador relacional de objetos (ORM), como SQLAlchemy. O problema que o Mongoose visa resolver é permitir que os desenvolvedores imponham um esquema específico na camada do aplicativo. Além de impor um esquema, o Mongoose também oferece uma variedade de hooks, validação de modelo e outros recursos com o objetivo de facilitar o trabalho com o MongoDB.

MongoEngine

MongoEngine é um ORM Python para MongoDB. Denominado Document-Object Mapper, ele usa uma API declarativa simples, semelhante ao Django ORM.
Ele foi lançado pela primeira vez em 2015 como um projeto de código aberto, e a versão atual é criada sobre o PyMongo, o driver oficial de Python do MongoDB.
Consulte a  documentação do MongoEngine para obter mais informações.

Prisma

O Prisma é um novo tipo de ORM para Node.js e Typescript que difere fundamentalmente dos ORMs tradicionais. Com o Prisma, você define seus modelos no esquema declarativo Prisma, que serve como a única fonte de verdade para o esquema do banco de dados e os modelos em sua linguagem de programação. O Prisma Client lerá e gravará dados em seu banco de dados de maneira segura em termos de tipo, sem a sobrecarga de gerenciar instâncias de modelo complexas. Isso torna o processo de query de dados muito mais natural e previsível, já que o Prisma Client sempre retorna objetos JavaScript simples.
O suporte ao MongoDB foi um dos recursos mais solicitados desde o lançamento inicial do Prisma ORM e foi adicionado na versão 3.12.
Consulte Prisma e MongoDB para obter mais informações.

Spring Data MongoDB

Se você estiver procurando um ORM Java para MongoDB, o Spring Data para MongoDB é a opção mais popular entre os desenvolvedores Java. O projeto Spring Data oferece um modelo de programação familiar e consistente baseado no Spring para novos repositórios de dados e, ao mesmo tempo, mantém os recursos e as funcionalidades específicos do repositório.
As principais áreas funcionais do Spring Data MongoDB das quais os desenvolvedores Java se beneficiarão são um modelo centrado em POJO para interagir com uma coleção DBC do MongoDB e escrever facilmente uma camada de acesso a dados no estilo de repositório.

Vá criar algo incrível!

Embora não seja uma lista exaustiva das bibliotecas MongoDB ORM e ODM disponíveis no momento, as entradas acima devem permitir que você comece a usar o MongoDB na linguagem de sua escolha de forma mais natural e eficiente.
Se você estiver procurando assistência ou tiver algum feedback, não hesite em participar de nossos fóruns da comunidade.

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Artigo
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Exemplo de código

Inicialização reativa do Java Spring com MongoDB


Apr 02, 2024 | 5 min read
Tutorial

Criar um pipeline de dados para o fluxo de alterações do MongoDB usando a assinatura Pub/Sub do BigQuery


Apr 02, 2024 | 5 min read
Artigo

Usando MongoDB com Rust Web Development Framework


Aug 29, 2024 | 1 min read
Início rápido

Introdução ao MongoDB e FastAPI


Jul 12, 2024 | 7 min read
Sumário