Looking for pymongo Keywords? Try Ask4Keywords

PyMongoErste Schritte mit PyMongo


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.

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() .

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.

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