Pular para o conteúdo principal

Connecting MongoDB to Python: Your First 10 Minutes With PyMongo

Learn what PyMongo is, why Python developers use it with MongoDB, and how to quickly connect MongoDB to your Python app.
Atualizado 17 de set. de 2026  · 5 min lido

Explorar com IA

ChatGPTClaudePerplexity

Pronto para conectar seu cluster MongoDB ao seu projeto em Python? Você deu sorte. Neste tutorial, você vai entender o que é o PyMongo, por que ele é o pacote preferido de quem usa MongoDB como banco de dados em projetos Python e como fazer sua primeira conexão rodar do jeito mais ágil possível. 

Se você está começando agora, não deixe de conferir nosso curso Introduction to Using MongoDB for Data Science in Python.

O que é o PyMongo?

Então, o que exatamente é o pacote PyMongo para Python? Ele é o driver oficial do MongoDB para Python, permitindo que desenvolvedores conectem, consultem e interajam entre seus apps Python e bancos de dados MongoDB. 

É a forma recomendada de acessar bancos de dados MongoDB a partir do Python e funciona muito bem para construir diferentes aplicações web, graças à compatibilidade com Flask e Django. Ele realmente ajuda desenvolvedores Python a tirar o máximo do MongoDB em seus projetos. 

Vamos ver como começar com o PyMongo executando um CRUD (create, read, update, delete) de exemplo para usuários e mostrar como é simples colocar tudo para rodar com o mínimo de código! 

Pré-requisitos para o sucesso 

Para acompanhar este tutorial sem perrengue, garanta que você tem o seguinte: 

  • Uma conta no MongoDB Atlas
  • Uma IDE de sua preferência (este tutorial usa um notebook do Google Colab)
  • Python 3.6+
  • pip instalado (se você estiver usando uma IDE diferente de um notebook do Google Colab). 

Configurando um cluster MongoDB 

Antes de conectar o banco MongoDB ao projeto em Python, precisamos criar um cluster! Para isso, acesse sua conta do MongoDB Atlas e crie um novo projeto, caso ainda não tenha. 

 Criando um projeto no MongoDB Atlas

 Em seguida, crie um cluster dentro do projeto. 

Criando um cluster dentro do projeto

Agora você está pronto para fazer o deploy do cluster. Clique na opção “Free” (é gratuito para sempre!) e escolha um nome para o seu cluster ou mantenha o padrão. 

Lembre-se: depois que você definir um nome para o cluster, não será possível alterá-lo. Escolha o provedor de nuvem (AWS, Google Cloud ou Azure) e confirme se a região está correta.

Fazendo o deploy do cluster

Clique no botão verde “Create Deployment” e podemos seguir. 

Você será solicitado a definir um “Username” e “Password” para o cluster. Escolha algo fácil de lembrar (mas não tão fácil quanto o deste tutorial!) e seguro, pois você vai precisar dessas credenciais sempre que acessar sua Connection String. 

Não esqueça de clicar em “Preload sample dataset” para facilitar sua vida. Isso vai carregar automaticamente o conjunto de dados de exemplo “sample_mflix”, que usaremos aqui. 

Clique em “Create Database User” para continuar. 

Escolhendo um nome de usuário e senha

Agora você pode se conectar ao cluster! Há várias formas de fazer isso, mas como este tutorial é focado em PyMongo, vamos conectar via Drivers. 

Conecte-se ao seu cluster

Selecione “Python” e a versão que deseja usar (vamos escolher a 4.7 ou superior) e você verá sua Connection String. Seu usuário e senha já aparecem preenchidos para facilitar.

Conectando com o MongoDB Driver

Agora que você tem sua Connection String, guarde-a em um local seguro. Podemos clicar no botão verde “Done”. 

É assim que o seu cluster fica depois de configurado. 

Cluster após a configuração]

Vá até “Network Access” no menu à esquerda e confirme se seu endereço IP está configurado corretamente. Para este tutorial (embora não seja recomendado em produção), você pode definir o IP como “Access from Anywhere” para simplificar. 

Aviso para produção: em aplicações de produção, coloque na lista de permissões apenas IPs específicos em Network Access > IP Access List no Atlas. 

Bora para a sua IDE favorita para brincar com os dados que temos em mãos! 

Conectando e executando operações CRUD com PyMongo

O primeiro passo é usar o pip para instalar o pymongo. Também vamos instalar o getpass aqui porque queremos manter a conexão segura:

!pip install pymongo

Agora, vamos configurar a conexão do MongoDB com o nosso cluster. Vamos usar o MongoClient para garantir a conexão. 

import getpass
from pymongo import MongoClient


# Get connection string from user
connection_string = getpass.getpass(prompt="Enter connection string WITH USER + PASS here: ")


try:
   client = MongoClient(connection_string)
   client.admin.command("ping")
   print("Successfully connected")
  
except Exception as e:
   print("Connection failed:", e)

Volte ao seu cluster para ver o nome do banco e da coleção. O banco se chama sample_mflix e a coleção é users

Veja um exemplo do tipo de informação com que vamos trabalhar neste cluster de exemplo. Temos o ObjectId de cada documento, além do nome, e-mail e senha de cada usuário. 

A coleção com a qual estamos trabalhando

Vamos rodar um teste rápido para garantir que conseguimos ler os documentos pelo nosso script: 

database = client["sample_mflix"]
collection = database["users"]

for document in collection.find().limit(20):
    print(document)

Se tudo correr bem, você verá algo assim:

Garantindo que estamos conectados ao banco MongoDB

Observação: o dataset sample_mflix inclui senhas em texto puro para fins de demonstração. Em aplicações reais, sempre faça hash das senhas (por exemplo, com bcrypt ou Argon2) e evite hardcode de credenciais.

Acabamos de ler as informações do nosso cluster! Agora, vamos criar um novo usuário. 

new_user = {
   "name": "Anaiya Raisinghani",
   "email": "fakeanaiya@gmail.com",
   "password": "pleasedonothackme"
}

# insert the document
result = collection.insert_one(new_user)

print(result.inserted_id)

Conseguimos ver o novo ID do usuário. Se eu voltar ao cluster, posso buscar por esse ID e verificar se o documento do novo usuário aparece:

Buscando nosso novo documento de usuário

Agora, vamos atualizar o documento que acabamos de criar. 

Observação: o BSON já vem com o PyMongo — não é preciso instalação extra. ObjectId é o formato padrão de ID único do MongoDB.

from bson import ObjectId

collection.update_one(
   {"_id": result.inserted_id}, # using the same document that we inserted above
   {"$set": {"password": "help!ivebeenhacked!!"}}
)

Atualizamos nosso documento

Como dá para ver, a senha foi atualizada e a mudança aparece na interface do MongoDB Atlas. 

Agora, vamos excluir esse documento. 

delete_user = collection.delete_one({"_id": result.inserted_id})

print("Deleted users:", delete_user.deleted_count)

O número de usuários excluídos será “1”. Vamos conferir na interface do MongoDB Atlas (só para garantir!).

Excluímos o usuário com sucesso

Pronto, excluímos o documento com sucesso! 

Conclusão

Neste tutorial, passamos pelos seus primeiros 10 minutos com o PyMongo — o driver oficial do MongoDB para Python. Lemos documentos da coleção, criamos um novo usuário, atualizamos esse usuário e o excluímos!

Para saber mais sobre PyMongo, confira o curso Introduction to Using MongoDB for Data Science in Python e visite a documentação oficial.

FAQs

Quais são alguns erros comuns ao conectar PyMongo ao MongoDB?

Os problemas mais comuns incluem connection string incorreta, restrições de firewall (lista de IPs permitidos) ou falhas de autenticação. Revise com atenção suas credenciais e as configurações de rede se a conexão falhar.

O PyMongo oferece suporte a programação assíncrona?

O PyMongo não oferece suporte nativo a operações assíncronas. Se você precisa de async, considere usar o Motor, o driver assíncrono oficial do MongoDB para Python.

O PyMongo lida com transações no banco de dados?

Sim, o PyMongo suporta transações ACID multidocumento, desde que você use replica sets ou clusters fragmentados (sharded) do MongoDB. Transações não estão disponíveis em instalações stand-alone.

Como lidar com pooling de conexões no PyMongo?

O PyMongo gerencia automaticamente o pool de conexões nos bastidores. Se necessário, você pode configurar parâmetros (como tamanho do pool e timeout) nas definições do MongoClient.

Posso usar PyMongo com Pandas para tarefas de análise de dados?

Com certeza! Você pode buscar dados do MongoDB com PyMongo e carregá-los diretamente em DataFrames do Pandas para análise e manipulação.


Anaiya Raisinghani's photo
Author
Anaiya Raisinghani
LinkedIn

Anaiya é uma defensora do desenvolvedor na MongoDB, localizada em Nova York.

Tópicos
MongoDB
Python

Principais cursos da DataCamp

Curso

Introdução ao MongoDB em Python

3 h
24.3K
Aprenda a mexer e analisar dados estruturados de forma flexível com o MongoDB.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

blog

Como aprender Python do zero em 2026: um guia completo

Descubra como aprender Python em 2026, suas aplicações e a demanda por habilidades em Python. Comece hoje sua jornada com nosso guia completo.
Matt Crabtree's photo

Matt Crabtree

15 min

Tutorial

Tutorial do Pyspark: Primeiros passos com o Pyspark

Descubra o que é o Pyspark e como ele pode ser usado, com exemplos.
Natassha Selvaraj's photo

Natassha Selvaraj

10 min

Tutorial

Gerenciando bancos de dados PostgreSQL em Python com psycopg2

Descubra como criar, conectar-se e gerenciar bancos de dados PostgreSQL usando o pacote psycopg2 do Python.
Javier Canales Luna's photo

Javier Canales Luna

14 min

Tutorial

Tutorial FastAPI: Uma introdução ao uso da FastAPI

Explore a estrutura FastAPI e descubra como você pode usá-la para criar APIs em Python
Moez Ali's photo

Moez Ali

13 min

Tutorial

Tutorial do Python pandas: O guia definitivo para iniciantes

Você está pronto para começar sua jornada com os pandas? Aqui está um guia passo a passo sobre como você pode começar.
Vidhi Chugh's photo

Vidhi Chugh

15 min

Tutorial

Python JSON Data: Um guia com exemplos

Aprenda a trabalhar com JSON em Python, incluindo serialização, deserialização, formatação, otimização de desempenho, manipulação de APIs e compreensão das limitações e alternativas do JSON.
Moez Ali's photo

Moez Ali

6 min

Ver MaisVer Mais