MongoDB $ Set -Operator

MongoDB $ Set -Operator

Wenn Sie ein häufiger Benutzer anderer Datenbanken wie Oracle und SQL sind, müssen Sie eine Vorstellung über die Syntax von Abfragen haben, die zum Aktualisieren der bereits eingefügten Datensätze in diesen Datenbanken verwendet werden. MongoDB verwendet auch einige Update -Abfragen, aber diese Abfragen unterscheiden sich im Vergleich zu den anderen Datenbanken sehr. In MongoDB verwenden die Update -Anweisungen den Operator von MongoDB "$ set". Mit diesem Handbuch können Sie alle Funktionsabfragen "Einfügen" -Funktion verwenden, um ein einzelnes Feld oder mehrere Felder eines Datensatzes mit dem "$ set" -Preiber zu aktualisieren.

Beispiel 1:

Wenn wir das erste Abbild von MongoDB entwickeln, decken wir die Verwendung des „$ -Set“ -Preibers ab, um die einfachen Datensätze in einer Datenbank zu aktualisieren. Zu diesem Zweck versuchen wir die Funktion „Insert ()“ von MongoDB, um einen einzelnen Datensatz von drei Datenfeldern hinzuzufügen.

Test> db.neu.Inise ("ID": 01, "Name": "Pita", "Alter": 30)

Nach dem Hinzufügen des ersten Einzeldatensatz.

Test> db.neu.finden().foreach (printjson)

Jetzt verwenden wir die Funktion updateOne (), um das Feld "Name" aus dem eingefügten Datensatz mit dem Bediener "$ set" zu aktualisieren. Stellen Sie sicher.

Test> db.neu.updateOne ("id": 01, $ set: "name": "peter")

Nach dem Aktualisieren eines Datensatz.

Test> db.neu.finden().foreach (printjson)

Es stellt sich heraus, dass das Update erfolgreich vom „Set“ -Betreiber von MongoDB erstellt wird.

Beispiel 2:

Nachdem wir die einfachen Abbildungen der Aktualisierung der MongoDB -Datensätze über den $ Set -Operator durchlaufen haben, verschieben wir einen Schritt nach vorne. In dieser Abbildung aktualisieren wir die verschachtelten Array -Datensätze (Dokumente) einer Datenbank, die sich in MongoDB befinden. Zu diesem Zeitpunkt sollte unsere Datenbank mindestens einen solchen Datensatz haben, der einen Array- oder Dokument-Datensatz enthält. Daher wird der folgende Befehl "InsertOne ()" von MongoDB in der Shell verwendet, um eine neue Datenbank zu einer "Test" -Datenbank hinzuzufügen. Dieser Datensatz enthält insgesamt 3 Datenfelder. Das Feld "Daten" ist ein Dokumentstyp und das Feld "EDU" ist ein Array.

Test> db.prüfen.InsertOne (id: 01, Daten: Name: "Johny", Alter: 34, edu: ["matric", "fsc"])

Nach dem Hinzufügen eines Datensatz. Diese beiden Datensätze werden erfolgreich hinzugefügt.

Test> db.prüfen.InsertOne (ID: 02, Daten: Name: "Elsa", Alter: 29, edu: ["fsc", "bs"])

Nachdem diese Datensätze hinzugefügt werden, überprüfen wir sie in unserem MongoDB mit der Funktion find () zusammen mit der Funktion foreach (), wobei das „Printjson“ als Argument zur Präsentation der Datenbankdaten im JSON -Format verwendet wird. Es werden zwei Datensätze angezeigt, die Array und Dokument enthalten.

Test> db.prüfen.finden().foreach (printjson)

Beispiel 3:

Jetzt aktualisieren wir den zweiten Datensatz aus der "Test" -Datenbank, die zuerst über den "Set" -Preiber von MongoDB hinzugefügt wird. Daher wird die Funktion „Update“ zu diesem Zweck in der MongoDB -CLI abgeschoben. Der Bediener "$ set" wird hier verwendet, um das Feld "Datum" dieses Datensatzes zu aktualisieren. Um das bestimmte Feld zu aktualisieren, sollten Sie alle Kinderfelder aktualisieren, denn wenn Sie ein Kinderfeld überspringen, wird es als Update entfernt und wird es nicht erneut angezeigt. Daher aktualisieren wir die Felder "Name" und "Alter" aus dem Dokument "Daten" des zweiten Datensatzes.

Test> db.prüfen.update (id: 2, $ set: data: name: "maya", Alter: 33)

Nachdem wir die Befehlsabfrage find () in der MongoDB -Shell ausprobiert haben, um den Datensatz einer Datenbank anzuzeigen. Der Name "Elsa" wird durch "Maya" ersetzt und das Alter "29" wird durch "33" ersetzt. Aus der Ausgabe können Sie sehen, dass der erste Datensatz während des Update unberührt ist.

Test> db.prüfen.finden().foreach (printjson)

Innerhalb der vorherigen Demonstration haben wir das Feld des Dokumententyps nur über den "$ -Set" -Berator über den Datenbankdatensatz "Test" aktualisiert. Jetzt aktualisieren wir das Feld Array-Typ derselben Datenbank mit dem Operator "$ set" von MongoDB. Mit der gleichen Weise verwenden wir die Funktion "updateOne" anstelle der Funktion "Update", um einen einzelnen Datensatz zu aktualisieren - den ersten Datensatz der "Test" -Datenbank. Wir erwähnen das Feld, das als "ID" für einen Datensatz verwendet wird, und versuchen den Operator "$ set", um das Feld "Daten" -Dokumenttyp und das Feld "EDU" -Array-Typ beide gleichzeitig zu aktualisieren. Nach der Ausführung der folgenden Abfrage wird der Datensatz aktualisiert.

Test> db.prüfen.updateone (id: 1, $ set: data: name: "paul", Alter: 30, edu: ["fa", "PhD"])

Nach diesem Update durch den Bediener "$ set" verwenden wir die gleiche Find () -Funktion mit der Funktion foreach (), um den aktualisierten Datensatz in unserer MongoDB -Shell im JSON -Format anzuzeigen. Dies 1st Der Datensatz wird perfekt ohne Fehler gemäß der Ausgabe aktualisiert.

Test> db.prüfen.finden().foreach (printjson)

Es gibt eine weitere einzigartige Möglichkeit, einen Datenbankdatensatz von MongoDB zu aktualisieren. Dieser Weg beinhaltet die Verwendung eines "Punkt" -Zeichens mit dem Feldnamen und seinem verschachtelten Feld, um ein bestimmtes Kind im Hauptfeld zu aktualisieren. Der Betreiber „$ set“ wird verwendetst Rekord von 30 bis 28. Zu diesem Zweck versuchen wir das spezifische Format der UpdateOne () -frage im "$ set" -Onbieter mögen "Daten".Alter “: 28.

Test> db.prüfen.updateOne (id: 1, $ set: "Daten.Alter ": 28)

Nach der Aktualisierung eines Datensatzes mithilfe der vorherigen Methode zeigen wir den aktualisierten Datensatz an.

Test> db.prüfen.finden().foreach (printjson)

Um ein Array innerhalb eines Datensatzes zu aktualisieren, müssen Sie die Indexnummer eines bestimmten Datensatzes nach dem Zeichen „Punkt“ zusammen mit dem Wert von ":" Verwenden des "Set" -Portlers näher erwähnen.

Test> db.prüfen.update (id: 1, $ set: "Daten.Alter ": 33", Edue.1 ":" PhD ")

Das Update spiegelt sich in der Datenbank "Test" wider. Wir haben den neuen Wert in der Spalte gefunden.

Test> db.prüfen.finden().foreach (printjson)

Abschluss

Dieser Artikel hilft Ihnen bei der Verwendung des „$ -Set“ -Portlers während der Arbeit in der Umgebung von MongoDB. Es erläutert die Verwendung des „$ -Set“ -Preibers in der Aktualisierungsanweisung von MongoDB innerhalb seiner Einführung. Danach werden drei verschiedene und doch sehr leicht zu implementierende Beispiele abgeschoben, um ein einfaches Ein-Wert-Feld zu aktualisieren, ein mehrwertiges Feld und ein Feld mit Array-Typ-Werten in einer MongoDB-Datenbank unter Verwendung der „$ -Spreis“ zu aktualisieren. Operator.