PyMongo: MongoDB-Treiber für Python

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung

In der modernen Softwareentwicklung sind NoSQL-Datenbanken aus dem Technologie-Stack nicht mehr wegzudenken. MongoDB, als eine der führenden dokumentenorientierten Datenbanken, bietet Entwicklern leistungsstarke Werkzeuge für die Arbeit mit unstrukturierten Daten. PyMongo dient als offizieller Python-Treiber für MongoDB und ermöglicht eine vollständige Integration zwischen Python-Anwendungen und MongoDB.

Was ist PyMongo?

PyMongo ist die offizielle Python-Bibliothek für die Interaktion mit MongoDB. Dieser leistungsstarke Treiber bietet direkten Zugriff auf alle Funktionen von MongoDB, einschließlich moderner Features wie Transaktionen, Change Streams und temporäre Collections.

Hauptfunktionen von PyMongo

Kompatibilität und Versionsunterstützung

  • Unterstützt MongoDB-Versionen 3.6, 4.0, 4.2, 4.4, 5.0, 6.0 und 7.0
  • Kompatibel mit Python 3.7+
  • Regelmäßige Updates und Sicherheitspatches

Funktionsumfang

  • Vollständige Unterstützung des BSON-Formats (Binary JSON)
  • Integrierte GridFS-Unterstützung für große Dateien
  • Automatische Wiederverbindung bei Ausfällen
  • SSL/TLS-Verschlüsselung
  • Leistungsüberwachung und Profiling

Architekturvorteile

  • Thread-sichere Operationen
  • Verbindungspools
  • Automatische Erkennung der Cluster-Topologie
  • Unterstützung für Replica Sets und Sharding

Installation und Konfiguration von PyMongo

Basisinstallation

pip install pymongo

Installation mit Zusatzfunktionen

# Für Verschlüsselung
pip install pymongo[encryption]

# Für Kerberos
pip install pymongo[gssapi]

# Für asynchrone Nutzung
pip install motor

Installation prüfen

import pymongo
print(pymongo.version)

Verbindung zu MongoDB herstellen

Grundlegende Verbindungsarten

Lokale Verbindung

from pymongo import MongoClient

# Einfache Verbindung
client = MongoClient()
# oder
client = MongoClient('localhost', 27017)
# oder
client = MongoClient('mongodb://localhost:27017/')

Verbindung mit Authentifizierung

client = MongoClient('mongodb://benutzername:passwort@localhost:27017/')

Verbindung zu MongoDB Atlas

client = MongoClient('mongodb+srv://benutzername:passwort@cluster.mongodb.net/')

Verbindung mit SSL

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

Verbindungsparameter

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

Wichtige PyMongo-Komponenten

Arbeit mit Datenbanken

# Datenbank abrufen
db = client['mydatabase']
# oder
db = client.mydatabase

# Alle Datenbanken auflisten
datenbanken = client.list_database_names()

# Datenbank löschen
client.drop_database('mydatabase')

# Datenbank-Statistiken abrufen
stats = db.command('dbstats')

Arbeit mit Collections

# Collection abrufen
collection = db['mycollection']
# oder
collection = db.mycollection

# Collection mit Optionen erstellen
db.create_collection('m                    

Empfehlungen