PyMongo Tutorial
Erste Schritte mit PyMongo
Suche…
Bemerkungen
Dieser Abschnitt bietet einen Überblick über Pymongo und warum ein Entwickler sie verwenden möchte.
Es sollte auch alle großen Themen in Pymongo erwähnen und auf die verwandten Themen verweisen. Da die Dokumentation für Pymongo neu ist, müssen Sie möglicherweise erste Versionen dieser verwandten Themen erstellen.
Installation oder Setup
Detaillierte Anweisungen zum Einrichten oder Installieren von Pymongo.
Installation mit Pip
So installieren Sie Pymongo zum ersten Mal:
pip install pymongo
Eine bestimmte Version von Pymongo installieren:
Dabei ist XXX die zu installierende Version
pip install pymongo==XXX
Upgrade bestehender Pymongos:
pip install --upgrade pymongo
Installation mit easy_install
So installieren Sie Pymongo zum ersten Mal:
python -m easy_install pymongo
Upgrade bestehender Pymongos:
python -m easy_install -U pymongo
Hallo Welt
PyMongo ist ein nativer Python-Treiber für MongoDB.
Installieren Sie PyMongo
pip install pymongo
Verbindung herstellen
Verwenden Sie MongoClient, um eine Verbindung herzustellen. MongoClient verwendet standardmäßig die MongoDB-Instanz, die auf localhost:27017
falls nicht angegeben.
from pymongo import MongoClient
client = MongoClient()
Auf Datenbankobjekte zugreifen
Die Datenbankklasse von PyMongo repräsentiert das Datenbankkonstrukt in MongoDB. Datenbanken enthalten Gruppen logisch zusammenhängender Sammlungen.
db = client.mydb
Auf Sammlungsobjekte zugreifen
Die Collection- Klasse von PyMongo's repräsentiert das Collection-Konstrukt in MongoDB. Sammlungen enthalten Gruppen verwandter Dokumente.
col = db.mycollection
MongoDB erstellt neue Datenbanken und Sammlungen implizit bei der ersten Verwendung.
Grundlegende CRUD-Operation
MongoDB speichert Datensätze als BSON- Dokumente . BSON ist die binäre Darstellung von JSON.
$ python
>>> from pymongo import MongoClient
>>> client = MongoClient()
>>> col = client.mydb.test
Erstellen
Einfügen eines einzelnen Dokuments insert_one(document)
>>> result = col.insert_one({'x':1})
>>> result.inserted_id
ObjectId('583c16b9dc32d44b6e93cd9b')
insert_many(documents)
Dokumente insert_many(documents)
>>> result = col.insert_many([{'x': 2}, {'x': 3}])
>>> result.inserted_ids
[ObjectId('583c17e7dc32d44b6e93cd9c'), ObjectId('583c17e7dc32d44b6e93cd9d')]
Ersetzen Sie ein einzelnes Dokument, das dem Filter replace_one(filter, replacement, upsert=False)
. ( upsert=True
ein neues Dokument einzufügen, wenn es kein übereinstimmendes Dokument gibt, verwenden Sie upsert=True
)
>>> result = col.replace_one({'x': 1}, {'y': 1})
>>> result.matched_count
1
>>> result.modified_count
1
Aktualisieren
Aktualisieren Sie ein einzelnes Dokument, das mit dem Filter update_one(filter, update, upsert=False)
>>> result = col.update_one({'x': 1}, {'x': 3})
Aktualisieren Sie ein oder mehrere Dokumente, die dem Filter update_many(filter, update, upsert=False)
>>> result = col.update_many({'x': 1}, {'x': 3})
Lesen
Abfrage der Datenbanksuche find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False)
. Das Filterargument ist ein Prototypdokument, zu dem alle Ergebnisse passen müssen.
>>> result = col.find({'x': 1})
Holen Sie sich ein einzelnes Dokument aus der Datenbank find_one(filter=None)
>>> result = col.find_one()
Abfrage mit Projektion
query={'x':1}
projection={'_id':0, 'x':1} # show x but not show _id
result=col.find(query,projection)
Löschen
Löschen Sie ein einzelnes Dokument, das mit dem Filter delete_one(filter)
übereinstimmt.
>>> result = col.delete_one({'x': 1})
>>> result.deleted_count
1
Löschen Sie ein oder mehrere Dokumente, die mit dem Filter delete_many(filter)
übereinstimmen.
>>> result = col.delete_many({'x': 1})
>>> result.deleted_count
3
PyMongo bietet auch die Funktionen find_one_and_delete()
, find_one_and_update()
und find_one_and_replace()
.