Weiter zum Inhalt

MongoDB mit Python verbinden: Deine ersten 10 Minuten mit PyMongo

Erfahre, was PyMongo ist, warum Python-Entwickler es mit MongoDB nutzen, und wie du MongoDB schnell mit deiner Python-App verbindest.
Aktualisiert 18. Sept. 2026  · 5 Min. lesen

Mit KI erkunden

ChatGPTClaudePerplexity

Bereit, deinen MongoDB-Cluster mit deinem Python-Projekt zu verbinden? Perfekt. In diesem Tutorial erfährst du, was PyMongo ist, warum es das Standardpaket für Python-Entwickler ist, die MongoDB als Datenbank einsetzen, und wie du deine erste Verbindung so effizient wie möglich zum Laufen bringst. 

Wenn du gerade erst startest, schau dir unbedingt unseren Kurs Introduction to Using MongoDB for Data Science in Python an.

Was ist PyMongo?

Also, was genau ist das PyMongo-Python-Paket? Dieses Paket ist der offizielle Python-Treiber von MongoDB. Er ermöglicht es Entwicklern, mit ihren Python-Anwendungen eine Verbindung zu MongoDB-Datenbanken herzustellen, Abfragen auszuführen und zu interagieren. 

Es ist der empfohlene Weg, um aus Python mit deinen MongoDB-Datenbanken zu arbeiten, und eignet sich hervorragend für den Bau verschiedenster Webanwendungen dank der guten Kompatibilität mit Flask und Django. So können Python-Entwickler das Potenzial von MongoDB in ihren Anwendungen voll ausschöpfen. 

Schauen wir uns an, wie du mit PyMongo startest, indem wir eine kleine CRUD-User-App (Create, Read, Update, Delete) bauen – damit siehst du, wie schnell du mit minimalem Code loslegen kannst! 

Voraussetzungen für den Erfolg 

Damit du das Tutorial problemlos nachvollziehen kannst, solltest du Folgendes parat haben: 

  • Ein MongoDB Atlas-Konto
  • Eine IDE deiner Wahl (dieses Tutorial nutzt ein Google Colab-Notebook)
  • Python 3.6+
  • pip installiert (wenn du eine andere IDE als ein Google Colab-Notebook verwendest). 

Einen MongoDB-Cluster einrichten 

Bevor wir unsere MongoDB-Datenbank mit dem Python-Projekt verbinden, brauchen wir einen Cluster. Melde dich dazu in deinem MongoDB Atlas-Konto an und lege ein neues Projekt an, falls du noch keines hast. 

 Creating a project in MongoDB Atlas

 Erstelle anschließend innerhalb des Projekts einen Cluster. 

Creating a cluster within the project

Jetzt kannst du deinen Cluster bereitstellen. Klicke auf die Stufe „Free“ (dauerhaft kostenlos!) und vergib einen Namen für deinen Cluster oder belasse den Standardnamen. 

Beachte: Sobald du einen Namen für deinen Cluster wählst, kannst du ihn nicht mehr ändern. Wähle den Cloud-Anbieter (zur Auswahl stehen AWS, Google Cloud und Azure) und achte darauf, dass du die richtige Region verwendest.

Deploying your cluster

Klicke auf den grünen Button „Create Deployment“, und wir können weitermachen. 

Du wirst nun aufgefordert, einen „Username“ und ein „Password“ für deinen Cluster zu wählen. Nimm etwas Einprägsames (aber bitte nicht so einprägsam wie im Tutorial!), das zugleich sicher ist – du brauchst diese Daten jedes Mal, wenn du auf deine Connection String zugreifst. 

Klicke außerdem auf „Preload sample dataset“, um es dir einfacher zu machen. Dadurch wird automatisch das Beispieldataset „sample_mflix“ geladen, mit dem wir arbeiten werden. 

Klicke auf „Create Database User“, um fortzufahren. 

Choosing a username and password

Jetzt kannst du dich mit deinem Cluster verbinden. Es gibt viele Wege, aber weil dieses Tutorial PyMongo fokussiert, verbinden wir uns über die Drivers. 

Connect to your cluster

Wähle „Python“ und die gewünschte Version (wir wählen 4.7 oder neuer), dann siehst du deine Connection String. Dein Benutzername und Passwort werden zur einfachen Nutzung automatisch eingefügt.

Connecting with MongoDB Driver

Speichere deine Connection String jetzt sicher ab. Danach kannst du auf den grünen Button „Done“ klicken. 

So sieht dein Cluster aus, wenn er konfiguriert ist. 

Cluster once configured]

Wechsle nun links im Menü zu „Network Access“ und prüfe, ob deine IP-Adresse korrekt konfiguriert ist. Für dieses Tutorial (nicht für die Produktion empfohlen) kannst du zur Vereinfachung „Access from Anywhere“ wählen. 

Hinweis für die Produktion: Für produktive Apps solltest du unter Network Access > IP Access List in Atlas nur spezifische IPs auf die Allowlist setzen. 

Wechsel jetzt in deine IDE und arbeite mit den Daten los! 

Verbinden und CRUD-Operationen mit PyMongo ausführen

Als Erstes installieren wir mit pip pymongo. Wir installieren in diesem Schritt auch getpass, damit unsere Verbindung sicher bleibt:

!pip install pymongo

Als Nächstes richten wir die Verbindung zu unserem Cluster ein. Wir verwenden MongoClient, um die Verbindung herzustellen. 

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)

Wechsle zurück zu deinem Cluster, um den Namen von Datenbank und Collection nachzusehen. Der Datenbankname lautet sample_mflix, die Collection heißt users

Hier ein Beispiel für die Daten in unserem Beispiel-Cluster. Wir haben die ObjectId jedes Dokuments sowie Name, E-Mail und Passwort jedes Users. 

The collection we are working with

Lass uns einen schnellen Test ausführen, um sicherzustellen, dass wir die Dokumente aus unserem Skript lesen können: 

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

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

Wenn das erfolgreich läuft, siehst du Folgendes:

Ensuring we are properly connected to our MongoDB database

Hinweis: Das sample_mflix-Dataset enthält Klartext-Passwörter zu Demonstrationszwecken. In echten Anwendungen Passwörter immer hashen (z. B. mit bcrypt oder Argon2) und keine Zugangsdaten hardcoden.

Damit haben wir auch das Lesen der Informationen im Cluster gezeigt! Jetzt legen wir einen neuen User an. 

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

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

print(result.inserted_id)

Wir sehen die neue User-ID, und wenn ich zurück in meinen Cluster gehe, kann ich nach dieser ID suchen und prüfen, ob mein neues User-Dokument auftaucht:

Searching for our new user document

Jetzt aktualisieren wir das soeben angelegte Dokument. 

Hinweis: BSON wird mit PyMongo installiert – keine zusätzliche Installation nötig. ObjectId ist das Standardformat für eindeutige IDs in MongoDB.

from bson import ObjectId

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

We have updated our document

Wie zu sehen ist, wurde das Passwort aktualisiert, und die Änderung ist in der MongoDB Atlas-UI sichtbar. 

Jetzt löschen wir dieses Dokument. 

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

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

Die gelöschten Nutzer werden „1“ sein. Prüfen wir zur Sicherheit noch einmal in der MongoDB Atlas-UI.

We have successfully deleted our user

Wir haben das Dokument erfolgreich gelöscht! 

Fazit

In diesem Tutorial hast du deine ersten 10 Minuten mit PyMongo – dem offiziellen Python-Treiber von MongoDB – erfolgreich absolviert. Wir haben Dokumente aus unserer Collection gelesen, einen neuen User angelegt, ihn aktualisiert und anschließend wieder gelöscht!

Weitere Informationen zu PyMongo findest du im Kurs Introduction to Using MongoDB for Data Science in Python und in der offiziellen Dokumentation.

FAQs

What are some common errors when connecting PyMongo to MongoDB?

Typische Probleme sind falsche Connection Strings, Firewall-Beschränkungen (IP-Whitelist) oder Authentifizierungsfehler. Prüfe bei Verbindungsfehlern sorgfältig deine Zugangsdaten und Netzwerkeinstellungen.

Does PyMongo support asynchronous programming?

PyMongo unterstützt asynchrone Operationen nicht nativ. Wenn du Async-Funktionen brauchst, nutze Motor, den offiziellen asynchronen Python-Treiber für MongoDB.

Can PyMongo handle database transactions?

Ja, PyMongo unterstützt ACID-Transaktionen über mehrere Dokumente, sofern du MongoDB-Replica-Sets oder Sharded-Cluster verwendest. Auf Standalone-Deployments sind Transaktionen nicht verfügbar.

How do I handle PyMongo connection pooling?

PyMongo verwaltet Connection-Pooling automatisch im Hintergrund. Bei Bedarf kannst du Parameter wie Poolgröße und Timeout über die MongoClient-Einstellungen konfigurieren.

Can I use PyMongo with Pandas for data analysis tasks?

Auf jeden Fall! Du kannst Daten mit PyMongo aus MongoDB abrufen und direkt in Pandas DataFrames laden, um sie zu analysieren und zu verarbeiten.


Anaiya Raisinghani's photo
Author
Anaiya Raisinghani
LinkedIn

Anaiya ist Developer Advocate bei MongoDB mit Sitz in New York.

Themen
MongoDB
Python

Top DataCamp Courses

Kurs

Einführung in MongoDB mit Python

3 Std.
24.3K
Lerne, wie du flexibel strukturierte Daten mit MongoDB bearbeiten und analysieren kannst.
Details anzeigenRight Arrow
Kurs Starten
Mehr anzeigenRight Arrow
Verwandt

Tutorial

Python JSON-Daten: Ein Leitfaden mit Beispielen

Lerne, wie man mit JSON in Python arbeitet, einschließlich Serialisierung, Deserialisierung, Formatierung, Leistungsoptimierung, Umgang mit APIs und Verständnis der Einschränkungen und Alternativen von JSON.
Moez Ali's photo

Moez Ali

6 Min.

Tutorial

Python Datenstrukturen Tutorial

Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Sejal Jaiswal's photo

Sejal Jaiswal

24 Min.

Tutorial

30 coole Python-Tricks für besseren Code mit Beispielen

Wir haben 30 coole Python-Tricks zusammengestellt, mit denen du deinen Code verbesserst und deine Python-Kompetenzen ausbaust.
Kurtis Pykes 's photo

Kurtis Pykes

15 Min.

Tutorial

Python-Tutorial zum Verknüpfen von Zeichenfolgen

Lerne verschiedene Methoden zum Verknüpfen von Zeichenfolgen in Python kennen, mit Beispielen, die jede Technik zeigen.
DataCamp Team's photo

DataCamp Team

5 Min.

Tutorial

Python Switch Case Statement: Ein Leitfaden für Anfänger

Erforsche Pythons match-case: eine Anleitung zu seiner Syntax, Anwendungen in Data Science und ML sowie eine vergleichende Analyse mit dem traditionellen switch-case.
Matt Crabtree's photo

Matt Crabtree

5 Min.

Tutorial

Python-Listenfunktionen und -Methoden – Tutorial und Beispiele

Lerne die Funktionen und Methoden von Python-Listen kennen. Schau dir jetzt die Code-Beispiele für list() und andere Python-Funktionen und -Methoden an!
Abid Ali Awan's photo

Abid Ali Awan

7 Min.

Mehr AnzeigenMehr Anzeigen