Zum Inhalt springen

MongoDB-Update

Python MongoDB-Update: Ein umfassender Leitfaden

MongoDB ist eine beliebte NoSQL-Datenbank, die Daten in einem JSON-ähnlichen Format speichert. Sie bietet eine flexible und skalierbare Lösung zum Speichern großer Mengen unstrukturierter Daten. Python ist eine beliebte Programmiersprache, die häufig für Datenanalyse und -manipulation verwendet wird. Python bietet eine reichhaltige Sammlung von Bibliotheken und Tools für die Arbeit mit MongoDB.

Das Aktualisieren von Daten in MongoDB ist in den meisten Anwendungen eine häufige Anforderung. In diesem Leitfaden werden wir untersuchen, wie Daten in MongoDB mit Python aktualisiert werden. Wir behandeln die folgenden Themen:

  1. Herstellen einer Verbindung zu MongoDB mit Python
  2. Aktualisieren eines einzelnen Dokuments
  3. Aktualisieren mehrerer Dokumente
  4. Aktualisieren verschachtelter Dokumente
  5. Upsert-Vorgänge in MongoDB
  6. Fazit

Herstellen einer Verbindung zu MongoDB mit Python

Bevor wir mit der Aktualisierung von Daten in MongoDB beginnen, müssen wir eine Verbindung zur Datenbank herstellen. Wir können die PyMongo-Bibliothek verwenden, die ein Python-Treiber für MongoDB ist, um eine Verbindung zur Datenbank herzustellen. Wir können PyMongo mit dem folgenden Befehl installieren:


console
pip install pymongo

Nachdem wir PyMongo installiert haben, können wir den folgenden Code verwenden, um eine Verbindung zu MongoDB herzustellen:

connect to mongodb in Python

python
import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["mydatabase"]
mycol = db["mycollection"]

Im obigen Code stellen wir eine Verbindung zu MongoDB her, das auf dem lokalen Computer auf dem Standardport 27017 läuft. Wir erstellen auch eine neue Datenbank mit dem Namen „mydatabase". Falls die Datenbank nicht existiert, erstellt MongoDB sie für uns.

Aktualisieren eines einzelnen Dokuments

Das Aktualisieren eines einzelnen Dokuments in MongoDB ist ein unkomplizierter Prozess. Wir können die Methode update_one() verwenden, um ein einzelnes Dokument zu aktualisieren. Die Methode update_one() benötigt zwei Argumente: einen Filter, der das zu aktualisierende Dokument angibt, und eine Aktualisierungsoperation, die festlegt, wie das Dokument aktualisiert werden soll.

update a single document from a MongoDB collection in Python

python
mycol.update_one({ "name": "John" }, { "$set": { "age": 30 } })

Im obigen Code aktualisieren wir das Feld „age" des Dokuments, bei dem das Feld „name" „John" ist. Wir setzen den Wert des Feldes „age" auf 30, indem wir den Operator $set verwenden.

Aktualisieren mehrerer Dokumente

Das Aktualisieren mehrerer Dokumente in MongoDB ist ebenfalls ein einfacher Prozess. Wir können die Methode update_many() verwenden, um mehrere Dokumente zu aktualisieren, die einem Filter entsprechen. Die Methode update_many() benötigt zwei Argumente: einen Filter, der die zu aktualisierenden Dokumente angibt, und eine Aktualisierungsoperation, die festlegt, wie die Dokumente aktualisiert werden sollen.

update multiple documents from a MongoDB collection in Python

python
mycol.update_many({ "status": { "$ne": "closed" } }, { "$set": { "status": "open" } })

Im obigen Code aktualisieren wir das Feld „status" aller Dokumente, bei denen das Feld „status" nicht „closed" ist. Wir setzen den Wert des Feldes „status" auf „open", indem wir den Operator $set verwenden.

Aktualisieren verschachtelter Dokumente

Das Aktualisieren verschachtelter Dokumente in MongoDB ist ebenfalls möglich. Wir können die Punkt-Notation verwenden, um verschachtelte Dokumente zu aktualisieren. Betrachten Sie beispielsweise das folgende Dokument:


json
{
  "name": "John",
  "address": {
    "city": "New York",
    "state": "NY"
  }
}

Um das Feld „state" des Feldes „address" zu aktualisieren, können wir den folgenden Code verwenden:

Update example in MongoDB in Python

python
mycol.update_one({ "name": "John" }, { "$set": { "address.state": "NJ" } })

Im obigen Code aktualisieren wir das Feld „state" des Feldes „address", bei dem das Feld „name" „John" ist. Wir setzen den Wert des Feldes „state" auf „NJ", indem wir den Operator $set verwenden.

Upsert-Vorgänge in MongoDB

Upserting ist eine Kombination aus Einfüge- und Aktualisierungsvorgängen. Wenn ein Dokument einem Filter entspricht, aktualisiert MongoDB das Dokument. Wenn kein Dokument dem Filter entspricht, fügt MongoDB ein neues Dokument ein. Wir können die Methode update_one() mit der Option upsert=True verwenden, um einen Upsert-Vorgang durchzuführen.

Upsert data in MongoDB in Python

python
mycol.update_one({ "name": "John" }, { "$set": { "age": 30 } }, upsert=True)

Im obigen Code aktualisieren wir das Feld „age" des Dokuments, bei dem das Feld „name" „John" ist. Wenn kein Dokument dem Filter entspricht, fügt MongoDB ein neues Dokument ein, bei dem das Feld „name" auf „John" und das Feld „age" auf 30 gesetzt ist.

Die Methode update_many() unterstützt ebenfalls den Parameter upsert. Wenn Sie ein neues Dokument einfügen müssen, wenn mehrere Übereinstimmungen möglich sind, können Sie es ähnlich verwenden:

Upsert multiple documents in MongoDB in Python

python
mycol.update_many({ "status": "pending" }, { "$set": { "status": "active" } }, upsert=True)

Fazit

In diesem Leitfaden haben wir untersucht, wie Daten in MongoDB mit Python aktualisiert werden. Wir haben die grundlegenden und erweiterten Konzepte zur Aktualisierung von Daten in MongoDB mit Python behandelt. Wir hoffen, dass dieser Leitfaden Ihnen hilft, das Konzept des Python MongoDB-Updates zu verstehen und es effektiv in Ihren Anwendungen einzusetzen.

Wenn Sie mehr über MongoDB und Python erfahren möchten, empfehlen wir einen Blick in die offizielle Dokumentation von MongoDB und PyMongo. Online finden Sie zudem viele nützliche Ressourcen, um mehr über diese Technologien zu erfahren.

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.