Accéder au contenu principal

Connecter MongoDB à Python : vos 10 premières minutes avec PyMongo

Découvrez ce qu’est PyMongo, pourquoi les développeurs Python l’utilisent avec MongoDB, et comment connecter rapidement MongoDB à votre application Python.
Actualisé 19 sept. 2026  · 5 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

Prêt à connecter votre cluster MongoDB à votre projet Python ? Vous avez de la chance. Dans ce tutoriel, vous allez voir ce qu’est PyMongo, pourquoi c’est le package de référence pour les développeurs Python qui utilisent MongoDB comme base de données, et comment établir votre première connexion en un minimum de code.

Si vous débutez, n’hésitez pas à suivre notre cours Introduction to Using MongoDB for Data Science in Python.

Qu’est-ce que PyMongo ?

Alors, concrètement, qu’est-ce que le package Python PyMongo ? Il s’agit du pilote Python officiel de MongoDB, qui permet aux développeurs de se connecter à des bases de données MongoDB, de les interroger et d’interagir avec elles depuis leurs applications Python.

C’est la méthode recommandée pour interagir avec vos bases de données MongoDB depuis Python, et elle est idéale pour développer des applications web grâce à sa compatibilité avec Flask et Django. PyMongo aide vraiment les développeurs Python à exploiter pleinement MongoDB dans leurs applications.

Voyons comment bien démarrer avec PyMongo en exécutant un exemple d’application utilisateur CRUD (create, read, update, delete) pour montrer à quel point il est simple de se lancer avec très peu de code !

Prérequis

Pour suivre ce tutoriel dans de bonnes conditions, assurez-vous de disposer des prérequis suivants :

  • Un compte MongoDB Atlas
  • Un IDE de votre choix (ce tutoriel utilise un notebook Google Colab)
  • Python 3.6+
  • pip installé (si vous utilisez un IDE autre qu’un notebook Google Colab).

Configuration d’un cluster MongoDB

Avant de connecter notre base de données MongoDB à notre projet Python, nous devons créer un cluster. Pour cela, connectez-vous à votre compte MongoDB Atlas et créez un nouveau projet si vous n’en avez pas encore un.

 Créer un projet dans MongoDB Atlas

Ensuite, créez un cluster au sein de ce projet.

Créer un cluster dans le projet

Vous êtes maintenant prêt à déployer votre cluster. Cliquez sur l’offre « Free » (gratuite pour toujours !) et choisissez un nom pour votre cluster ou conservez le nom par défaut.

Gardez à l’esprit qu’une fois le nom du cluster défini, vous ne pourrez plus le modifier. Choisissez le fournisseur cloud (AWS, Google Cloud ou Azure) et vérifiez que vous êtes dans la bonne région.

Déployer votre cluster

Cliquez sur le bouton vert « Create Deployment », et nous pouvons poursuivre.

Vous devrez choisir un « Username » et un « Password » pour votre cluster. Optez pour des identifiants faciles à retenir (mais plus sûrs que ceux de ce tutoriel !) et sécurisés, car vous en aurez besoin à chaque accès à votre chaîne de connexion.

Pensez également à cliquer sur « Preload sample dataset » pour vous faciliter la vie. Cela chargera automatiquement l’ensemble de données d’exemple « sample_mflix » avec lequel nous allons travailler.

Cliquez sur « Create Database User » pour continuer.

Choisir un nom d’utilisateur et un mot de passe

Vous pouvez maintenant vous connecter à votre cluster ! Plusieurs options existent, mais puisque ce tutoriel porte sur PyMongo, nous allons nous connecter via les pilotes (Drivers).

Se connecter à votre cluster

Choisissez « Python » et la version souhaitée (nous opterons pour la 4.7 ou ultérieure), et vous verrez votre chaîne de connexion. Votre nom d’utilisateur et votre mot de passe sont automatiquement renseignés pour plus de simplicité.

Connexion avec le pilote MongoDB

Maintenant que vous avez votre chaîne de connexion, conservez-la en lieu sûr. Vous pouvez cliquer sur le bouton vert « Done ».

Voici à quoi ressemble votre cluster une fois configuré.

Cluster une fois configuré]

Accédez au menu « Network Access » dans la barre latérale gauche et vérifiez que votre adresse IP est bien configurée. Pour les besoins de ce tutoriel (même si ce n’est évidemment pas recommandé en production), vous pouvez autoriser l’accès « From Anywhere » pour simplifier.

Avertissement production : pour des applications en production, mettez sur liste blanche des IP spécifiques dans Atlas : Network Access > IP Access List.

Passons maintenant dans l’IDE de votre choix pour manipuler les données dont nous disposons !

Se connecter et réaliser des opérations CRUD avec PyMongo

Première étape : installer pymongo avec pip. Nous installons également getpass dans cette étape pour garder notre connexion sécurisée :

!pip install pymongo

Ensuite, configurons la connexion MongoDB à notre cluster. Nous allons utiliser MongoClient pour établir la connexion.

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)

Retournez dans votre cluster pour relever le nom de la base et de la collection. La base s’appelle sample_mflix et la collection users.

Voici un exemple des informations présentes dans ce cluster d’exemple : l’ObjectId de chaque document, ainsi que le nom, l’email et le mot de passe de chaque utilisateur.

La collection avec laquelle nous travaillons

Faisons un test rapide pour vérifier que nous pouvons lire nos documents depuis le script :

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

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

Si tout se passe bien, vous verrez ceci :

Vérifier la connexion à la base MongoDB

Remarque : l’ensemble de données sample_mflix contient des mots de passe en clair à des fins de démonstration. En situation réelle, hachez toujours les mots de passe (par ex. : bcrypt ou Argon2) et évitez de coder en dur des identifiants.

Nous venons aussi de lire les informations de notre cluster ! Passons à la création d’un nouvel utilisateur.

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

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

print(result.inserted_id)

Nous pouvons voir l’ID de notre nouvel utilisateur. En retournant dans le cluster, on peut rechercher cet ID et vérifier que le document a bien été ajouté.

Rechercher notre nouveau document utilisateur

Mettons maintenant à jour le document que nous venons de créer.

Remarque : BSON est fourni avec PyMongo — aucune installation supplémentaire n’est nécessaire. ObjectId est le format d’ID unique par défaut de MongoDB.

from bson import ObjectId

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

Nous avons mis à jour notre document

Comme on peut le voir, le mot de passe a été mis à jour, et la modification est visible dans l’interface MongoDB Atlas.

Supprimons maintenant ce document.

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

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

Le nombre d’utilisateurs supprimés devrait être « 1 ». Vérifions dans l’interface MongoDB Atlas (par acquis de conscience !).

Nous avons bien supprimé notre utilisateur

Nous avons supprimé notre document avec succès !

Conclusion

Dans ce tutoriel, vous avez passé vos 10 premières minutes avec PyMongo — le pilote Python officiel de MongoDB. Nous avons lu les documents de notre collection, créé un nouvel utilisateur, mis à jour cet utilisateur, puis l’avons supprimé.

Pour aller plus loin avec PyMongo, consultez le cours Introduction to Using MongoDB for Data Science in Python et consultez la documentation officielle.

FAQs

Quels sont les erreurs courantes lors de la connexion de PyMongo à MongoDB ?

Les problèmes fréquents incluent une chaîne de connexion incorrecte, des restrictions réseau (liste blanche d’IP) ou des échecs d’authentification. Vérifiez attentivement vos identifiants et vos paramètres réseau en cas d’échec de connexion.

PyMongo prend-il en charge la programmation asynchrone ?

PyMongo ne prend pas en charge nativement l’asynchrone. Si vous avez besoin d’opérations async, envisagez Motor, le pilote Python asynchrone officiel de MongoDB.

PyMongo peut-il gérer des transactions ?

Oui, PyMongo prend en charge les transactions ACID multi-documents, à condition d’utiliser des replica sets ou des clusters fragmentés (sharded) MongoDB. Les transactions ne sont pas disponibles sur des déploiements standalone.

Comment gérer le pooling de connexions avec PyMongo ?

PyMongo gère automatiquement le pooling de connexions en arrière-plan. Vous pouvez configurer des paramètres (taille du pool, timeouts, etc.) via les options de MongoClient si besoin.

Puis-je utiliser PyMongo avec Pandas pour des tâches d’analyse de données ?

Absolument ! Vous pouvez récupérer des données MongoDB avec PyMongo, puis les charger directement dans des DataFrames Pandas pour l’analyse et la manipulation.


Anaiya Raisinghani's photo
Author
Anaiya Raisinghani
LinkedIn

Anaiya est conseillère en développement chez MongoDB, à New York.

Sujets
MongoDB
Python

Top DataCamp Courses

Cours

Introduction à MongoDB en Python

3 h
24.3K
Apprenez à manipuler et analyser des données structurées de manière flexible avec MongoDB.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow