PyMongo : le driver MongoDB pour Python

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction

Dans le développement logiciel moderne, les bases de données NoSQL sont devenues un élément incontournable de la stack technologique. MongoDB, l'un des systèmes de gestion de bases de données orientées documents les plus populaires, offre aux développeurs des outils puissants pour travailler avec des données non structurées. PyMongo est le driver officiel Python pour MongoDB, assurant une intégration complète entre vos applications Python et MongoDB.

Qu'est-ce que PyMongo ?

PyMongo est la bibliothèque officielle Python pour interagir avec MongoDB. Ce driver haute performance donne un accès direct à toutes les fonctionnalités de MongoDB, y compris les fonctions avancées comme les transactions, les change streams et les collections temporaires.

Fonctionnalités clés de PyMongo

Compatibilité et versions supportées

  • Support des versions MongoDB 3.6, 4.0, 4.2, 4.4, 5.0, 6.0 et 7.0
  • Compatible avec Python 3.7 et versions ultérieures
  • Mises à jour régulières et correctifs de sécurité

Capacités fonctionnelles

  • Prise en charge complète du format BSON (Binary JSON)
  • Support intégré de GridFS pour le stockage de fichiers volumineux
  • Reconnexion automatique en cas d'échec
  • Chiffrement SSL/TLS
  • Surveillance des performances et profilage

Avantages architecturaux

  • Opérations thread-safe
  • Pools de connexions
  • Détection automatique de la topologie du cluster
  • Support des réplicas et du sharding

Installation et configuration de PyMongo

Installation de base

pip install pymongo

Installation avec fonctionnalités supplémentaires

# Pour le chiffrement
pip install pymongo[encryption]

# Pour Kerberos
pip install pymongo[gssapi]

# Pour le mode asynchrone
pip install motor

Vérification de l'installation

import pymongo
print(pymongo.version)

Connexion à MongoDB

Méthodes de connexion principales

Connexion locale

from pymongo import MongoClient

# Connexion simple
client = MongoClient()
# ou
client = MongoClient('localhost', 27017)
# ou
client = MongoClient('mongodb://localhost:27017/')

Connexion avec authentification

client = MongoClient('mongodb://utilisateur:motdepasse@localhost:27017/')

Connexion à MongoDB Atlas

client = MongoClient('mongodb+srv://utilisateur:motdepasse@cluster.mongodb.net/')

Connexion avec SSL

client = MongoClient('mongodb://localhost:27017/',
                    ssl=True,
                    ssl_cert_reqs=ssl.CERT_NONE)

Paramètres de connexion

client = MongoClient(
    host='localhost',
    port=27017,
    maxPoolSize=50,
    minPoolSize=10,
    maxIdleTimeMS=30000,
    connectTimeoutMS=5000,
    socketTimeoutMS=5000,
    serverSelectionTimeoutMS=5000,
    retryWrites=True,
    retryReads=True
)

Composants principaux de PyMongo

Travailler avec les bases de données

# Accéder à une base de données
db = client['mabase']
# ou
db = client.mabase

# Lister toutes les bases de données
bases = client.list_database_names()

# Supprimer une base de données
client.drop_database('mabase')

# Obtenir les statistiques d'une base de données
stats = db.command('dbstats')

Travailler avec les collections

# Accéder à une collection
collection = db['macollection']
# ou
collection = db.macollection

# Créer une collection avec options
db.create_collection('m                    

Recommendations