Die PyMongo-Distribution enthält Tools für die Interaktion mit der MongoDB-Datenbank von Python aus. Das bson
-Paket ist eine Implementierung des BSON-Formats für Python. Das pymongo
-Paket ist ein nativer Python-Treiber für MongoDB. Das Paket gridfs
ist eine Gridfs-Implementierung auf pymongo
.
PyMongo unterstützt MongoDB 4.0, 4.2, 4.4, 5.0, 6.0, 7.0 und 8.0.
Bei Problemen mit, Fragen oder Feedback zu PyMongo schauen Sie bitte in unsere Supportkanäle. Bitte senden Sie keine E-Mails direkt an die PyMongo-Entwickler, wenn Sie Probleme oder Fragen haben. Die Wahrscheinlichkeit ist höher, dass Sie eine Antwort auf StackOverflow erhalten (unter Verwendung eines „mongodb“-Tags).
Denken Sie, Sie haben einen Fehler gefunden? Möchten Sie eine neue Funktion in PyMongo sehen? Bitte eröffnen Sie einen Fall in unserem Issue-Management-Tool JIRA:
Fehlerberichte in JIRA für alle Treiberprojekte (d. h. PYTHON, CSHARP, JAVA) und das Core Server-Projekt (d. h. SERVER) sind öffentlich .
Bitte geben Sie beim Öffnen eines Problems alle folgenden Informationen an:
Detaillierte Schritte zur Reproduktion des Problems, einschließlich vollständiger Rückverfolgung, wenn möglich.
Die genaue verwendete Python-Version mit Patch-Level:
python -c " import sys; print(sys.version) "
python -c " import pymongo; print(pymongo.version); print(pymongo.has_c()) "
Das Betriebssystem und die Version (z. B. Windows 7, OSX 10.8, ...)
Gegebenenfalls verwendetes Webframework oder asynchrone Netzwerkbibliothek mit Version (z. B. Django 1.7, mod_wsgi 4.3.0, gevent 1.0.1, Tornado 4.0.2, ...)
Wenn Sie eine Sicherheitslücke in einem Treiber oder einem anderen MongoDB-Projekt festgestellt haben, melden Sie diese bitte gemäß den Anweisungen hier.
PyMongo kann mit pip installiert werden:
python -m pip install pymongo
Sie können auch die Projektquelle herunterladen und Folgendes tun:
pip install .
Installieren Sie nicht das Paket „bson“ von pypi. PyMongo wird mit einem eigenen BSON-Paket geliefert; Wenn Sie „pip install bson“ ausführen, wird ein Paket eines Drittanbieters installiert, das mit PyMongo nicht kompatibel ist.
PyMongo unterstützt CPython 3.9+ und PyPy3.9+.
Erforderliche Abhängigkeiten:
Für die Unterstützung von mongodb+srv://
-URIs ist dnspython erforderlich
Optionale Abhängigkeiten:
Für die GSSAPI-Authentifizierung ist Pykerberos unter Unix oder WinKerberos unter Windows erforderlich. Die richtige Abhängigkeit kann automatisch zusammen mit PyMongo installiert werden:
python -m pip install " pymongo[gssapi] "
Die MONGODB-AWS-Authentifizierung erfordert pymongo-auth-aws:
python -m pip install " pymongo[aws] "
OCSP (Online Certificate Status Protocol) erfordert PyOpenSSL, Anfragen, service_identity und erfordert möglicherweise Zertifikate:
python -m pip install " pymongo[ocsp] "
Für die Wire-Protokollkomprimierung mit Snappy ist Python-Snappy erforderlich:
python -m pip install " pymongo[snappy] "
Für die Wire-Protokollkomprimierung mit zstandard ist zstandard erforderlich:
python -m pip install " pymongo[zstd] "
Für die clientseitige Verschlüsselung auf Feldebene sind pymongocrypt und pymongo-auth-aws erforderlich:
python -m pip install " pymongo[encryption] "
Mit dem folgenden Befehl können Sie alle Abhängigkeiten automatisch installieren:
python -m pip install " pymongo[gssapi,aws,ocsp,snappy,zstd,encryption] "
Zusätzliche Abhängigkeiten sind:
Hier ist ein einfaches Beispiel (weitere Informationen finden Sie im Abschnitt „Beispiele“ der Dokumentation):
>>> import pymongo
>>> client = pymongo.MongoClient( " localhost " , 27017 )
>>> db = client.test
>>> db.name
'test'
>>> db.my_collection
Collection(Database(MongoClient('localhost', 27017), 'test'), 'my_collection')
>>> db.my_collection.insert_one({ " x " : 10 }).inserted_id
ObjectId('4aba15ebe23f6b53b0000000')
>>> db.my_collection.insert_one({ " x " : 8 }).inserted_id
ObjectId('4aba160ee23f6b543e000000')
>>> db.my_collection.insert_one({ " x " : 11 }).inserted_id
ObjectId('4aba160ee23f6b543e000002')
>>> db.my_collection.find_one()
{'x': 10, '_id': ObjectId('4aba15ebe23f6b53b0000000')}
>>> for item in db.my_collection.find():
... print (item[ " x " ])
...
10
8
11
>>> db.my_collection.create_index( " x " )
'x_1'
>>> for item in db.my_collection.find().sort( " x " , pymongo. ASCENDING ):
... print (item[ " x " ])
...
8
10
11
>>> [item[ " x " ] for item in db.my_collection.find().limit( 2 ).skip( 1 )]
[8, 11]
Die Dokumentation ist unter pymongo.readthedocs.io verfügbar.
Die Dokumentation kann durch Ausführen von pip install hatch generiert werden. Hatch führt doc:build aus . Die generierte Dokumentation finden Sie im Verzeichnis doc/build/html/
.
Der einfachste Weg, die Tests auszuführen, besteht darin, hatch run test:test * im Stammverzeichnis der Distribution auszuführen. Zum Beispiel,
pip install hatch
hatch run test:test