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 Auch in der Bibliothek
Arbeiten mit Daten in C++: Überblick über Bibliotheken zur Zeitmanipulation
JSON-Verarbeitung in JavaScript (Node.js): Vollständiger Leitfaden
Autorisierung und Authentifizierung in PHP: vollständige Anleitung mit Beispielen
Caching in C++: Redis, Datenebene und andere Tools
Konfiguration von Rust-Anwendungen: Bibliotheken config, envy und dotenvy