MongoDB -Update -Dokument

MongoDB -Update -Dokument

Wir können das Dokument des MongoDB -Sammlungskollektions mit der Methode update () aktualisieren. Die update () -Methode benötigt eine Bedingung für die Aktualisierungserklärung, um sicherzustellen, dass nur die relevanten Dokumente aktualisiert werden. Die Update -Abfrage benötigt die beiden Parameter, um das Feld der Dokumente zu aktualisieren. Der erste Parameter ist der vorhandene Wert des angegebenen Feldes, den wir aktualisieren möchten. Der zweite Parameter wird mit dem Schlüsselwort $ festgelegt, das zum Aktualisieren des Wertes des nächsten angegebenen Dokuments erforderlich ist.

So aktualisieren Sie das Dokument in MongoDB

Bevor Sie die Update -Abfrage verwenden, benötigen wir die MongoDB -Sammlung. Wir erstellen die Kollektion „Produkte“, die die Dokumente enthält. Die Dokumente in den „Produkten“ werden unter Verwendung der folgenden Abfrage eingeführt:

db.Produkte.InsertMany ([

_id: 1,
Produkt: "Schwarze Jeans",
Qty: 15,
Konfektionsgröße M",
Status: "verfügbar",
Preis: 400
,

_id: 2,
Produkt: "White T-Shirt",
Qty: 10,
kleine Größe",
Status: "Nicht verfügbar",
Preis: 550
,

_id: 3,
Produkt: "Neonschuhe",
Qty: 5,
kleine Größe",
Status: "verfügbar",
Preis: 750
,

_id: 4,
Produkt: "Krawatten",
Qty: 20,
Größe groß",
Status: "Nicht verfügbar",
Preis: 350
,

_id: 5,
Produkt: "formelle Hemden",
Qty: 17,
Größe groß",
Status: "verfügbar",
Preis: 400

]))

Die MongoDB-Kollektion „Products“ wird erfolgreich mit den zuvor definierten Dokumenten eingefügt. Die Insertions -Dokumentmeldung wird im Folgenden angezeigt. Jetzt können wir die Update -Abfrage auf diese Dokumente anwenden.

Beispiel 1: MongoDB aktualisiert das Dokument für dasselbe Feld

Betrachten Sie das Beispiel, bei dem die Update -Abfrage verwendet wird, um den aktuellen Wert mit dem neuen zu aktualisieren. Die update () -Methode wird auf die MongoDB -Kollektion „Produkte“ angewendet. Die update () -Methode wird mit dem Schlüssel „Produkt“ übergeben, dessen Wert im Dokument als „formale Hemden“ festgelegt wird. Wir möchten den Wert dieses Felds „Produkt“ aktualisieren, für das wir den zweiten Parameter in der update () -Methode bereitstellen.

Der Ausdruck „$ set: Produkt:„ Jacke ““ ist der zweite Parameter, der den neuen Wert für den aktuellen Wert festlegt. Das Keyword von $ Set wird verwendet, das den Feld "Produkt" annimmt und den aktualisierten "Jackets" -Wert dagegen festlegt. Beachten Sie das Ding, dass die Datentypen des Wertes des angegebenen Feldes in der Sammlung gleich sein sollten.

db.Produkte.UPDATE (Produkt: "Formale Shirts", $ set: produkt: "jackets")

In der Ausgabe gibt der MatchedCount die Dokumente an, die den Kriterien entsprechen, und die modifiedCount zeigt die Anzahl der aktualisierten Dokumente an.

Wir überprüfen, dass der Wert in der Sammlung aktualisiert wird. Hierzu nennen wir die find () -Methode und fügen den Wert "_id" von "5" des aktualisierten Dokuments ein.

db.Produkte.find (_ id: 5)

Der Wert "Jacken" wird in den Dokumenten wie im Folgenden aktualisiert:

Beispiel 2: MongoDB aktualisiert das Dokument für die verschiedenen Felder

Als nächstes aktualisieren wir das Dokument mit den verschiedenen Feldern. Betrachten Sie die folgende Abfrage, bei der wir die update () -Methode verwenden, und geben Sie die Bedingung darin an, das Dokument zu aktualisieren. Hier aktualisieren wir das Dokument, das das "_id" als "1" hat. Das Feld _id mit dem Wert wird also als erster Parameter festgelegt. Anschließend haben wir das Schlüsselwort "$ set", das das Feld "Produkt" nimmt, das einen neuen Wert als "Blue Jeans" erhält.

db.Produkte.aktualisieren(
"_id": 1,
$ set: "product": "Blue Jeans");

Die tatsächlichen Ergebnisse werden mit dem Detail generiert, dass der Wert auf den angegebenen Schlüssel aktualisiert wird. Die update () -Methode bewertet zunächst den Zustand und legt den geänderten Wert mit dem Schlüsselwort $ fest.

Der aktualisierte Wert des "_id: 1" wird aus der Sammlung „Produkt“ überprüft, indem die folgende Abfrage angewendet wird:

Die Ausgabe bestätigt, dass der Wert "Blue Jean" mit den "schwarzen Jeans" im Dokument aktualisiert wird.

Beispiel 3: MongoDB aktualisiert das Dokument für mehrere Felder

Um mehrere Dokumente gleichzeitig zu ändern. In der folgenden Beispielabfrage verwenden wir die update () -Methode, die das Feld „_id“ eingibt, dessen Wert „2“ ist. Wir möchten, dass dieses Dokument mit den neuen Werten geändert wird. Dann haben wir einen $ -Set -Modifikator, der die Werte der beiden Felder "Größe" und "Preis" mit den neu zugewiesenen Werten aktualisiert.

db.Produkte.update (_id: 2, $ set: "size": "groß", "preis": 450)

Die Werte für die Größe und die Preisfelder werden im Dokument geändert, das wir durch Ausführen der Find -Abfrage auf der Shell ausführen.

Beispiel 4: MongoDB aktualisiert das Dokument mit der Methode updateOne ()

Die updateOne () -Methode ist eine weitere Möglichkeit, ein Dokument in der Sammlung zu aktualisieren. Wir können nur ein Dokument in einer Sammlung aktualisieren, die die angegebenen Suchkriterien erfüllt. Auch wenn unzählige Dokumente die Kriterien erfüllen, aktualisiert dies nur den ersten. Die folgende Abfrage verwendet die Methode updateOne (), um das Dokument zu aktualisieren. Wir geben das "Qty: 17" als Filterkriterien. Die updateOne () -Methode findet das Dokument, dessen „Qty“ „17“ ist. Anschließend legt der nächste Parameter das Feld "Status" mit dem Wert "Nicht verfügbar" mit dem $ -Set-Bediener fest, um das übereinstimmende Dokument zu aktualisieren.

db.Produkte.updateOne (qty: 17, $ set: Status: "Not-verfügbar")

Die Ausführung dieser Update -Abfrage bestätigt, dass der Wert im übereinstimmenden Dokument aktualisiert wird.

Wir sehen uns auch das aktualisierte Dokument an, indem wir die Find -Abfrage ausführen.

Beispiel 5: MongoDB aktualisiert das Dokument mit dem $ Inc -Betreiber

Alle vorherigen Update -Abfragen verwenden den $ -Set -Bediener, um die aktualisierten Werte im Dokument festzulegen. Die Methode update () hat jedoch verschiedene Betreiber bei der Aktualisierung eines Dokuments. Hier verwenden wir den $ Inc -Betreiber, um das Dokument zu aktualisieren. Der $ Inc -Betreiber verwendet den erhöhten Wert gegen den angegebenen Schlüssel. Wir geben eine Anfrage, um das Dokument mit dem $ Inc -Betreiber zu aktualisieren. Die update () -Methode entspricht dem Dokument, dessen „Produkt“ -Feld den Wert „Krawatten“ enthält und dann den Wert des Felds „Qty“ mit dem „$ Inc“ -Betreiber auf „50“ erhöht.

db.Produkte.updateOne (produkt: "bindet", $ inc: qty: 50)

Das Dokument wird übereinstimmt und der Wert wird erfolgreich wie im folgenden Bild gezeigten geändert:

Das übereinstimmende Dokument wird dann speziell durchsucht, um den neuen inkrementierten Wert anzuzeigen, der wie im folgenden Ausgabebild gezeigten aktualisiert wird:

Beispiel 6: MongoDB aktualisiert das Dokument mit dem $ -Wormamen -Betreiber

Jetzt verwenden wir den $ umbenennischen Operator der update () -Methode. Dieser Bediener aktualisiert den Feldtitel aus dem aktuellen Namen des angegebenen Feldes. Lassen Sie uns die folgende Abfrage der update () -Methode haben. Die update () -Methode übernimmt die Bedingung, das Dokument des Felds „Produkt“ zu finden, dessen Wert „Krawatten“ ist. Wenn das Dokument gefunden wird. Der $ -umbenannte Bediener nimmt den Namen des Feldes „Status“ an, das zusammen mit dem geänderten Namen des Felds "Aktien" umbenannt werden muss.

db.Mitarbeiter.update ("produkt": "bindet",
$ umbenennen: "Status": "Stock")

Das geänderte Feld „Aktien“ wird im angegebenen Dokument im Ergebnis der vorherigen Abfrage aktualisiert.

Das übereinstimmende Dokument wird dann durch Angabe der Abfrage durchsucht, die den aktualisierten Feldnamen anzeigt.

Beispiel 7: MongoDB aktualisiert das Dokument mit dem $ uneingestellten Bediener

Als nächstes nehmen wir ein Beispiel für einen $ uneingestellten Operator, mit dem die angegebenen Felder aus dem Dokument entfernt werden. In der folgenden Abbildung verwenden wir den $ uneingestellten Operator in der update () -Methode, mit der die Felder "Größe" und "Qty" aus dem Dokument entfernt werden, dessen "_id" "4" ist, "4".

db.Produkte.aktualisieren(
_id: 4,
$ nicht fest: Größe: "", qty: ""

Das übereinstimmende Dokument wird nach der Ausführung der vorherigen nicht festgelegten Abfrage aktualisiert.

In der Shell ist zu sehen, dass das übereinstimmende Dokument mit den uneingestellten "Größe" und den "Qty" -Feldern entfernt wurde.

Abschluss

Diese Anleitung von MongoDB untersucht die update () -Methode, mit der das Dokument aktualisiert wird. Wir können die verschiedenen Felder aktualisieren, indem wir die update () -Methode in der Abfrage aufrufen. Wir haben auch die updateOne () -Methode eingeführt, mit der nur ein einzelnes Dokument aktualisiert wird. Wir können die Methode updatemany () verwenden, wenn wir mehrere Dokumente gleichzeitig aktualisieren müssen. Darüber hinaus haben wir die verschiedenen Operatoren der update () -Methode verwendet, um das Dokument entsprechend zu aktualisieren.