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



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow