MongoDB $ sinc -Operator

MongoDB $ sinc -Operator

In der Programmierung neigen wir dazu, die Begriffe Zähler-, Inkrement- und Dekrement -Operatoren zu verwenden, um einen bestimmten Wert für eine Variable oder eine Schleifenzahl hinzuzufügen oder zu subtrahieren. Genau wie bei einer anderen Programmiersprache kam MongoDB mit dem „$ Inc“ -Betreiber, um dem bereits vorhandenen Wert in einem Feld einen bestimmten Wert hinzuzufügen. Der Betreiber „$ Inc“ erhöht nicht nur den Wert, sondern kann auch den Wert verringern. Der zu einem bestimmte Feld hinzugefügte Wert kann je nach Situation positiv oder negativ sein - positiver Wert zu addieren und negativ zu subtrahieren. Dieser Artikel hilft Ihnen dabei.

Erstellen Sie eine Sammlung in MongoDB

Der erste Schritt in Richtung der Verwendung des „$ Inc“ -Ontreibers in MongoDB besteht darin, einige Daten in der Datenbank zu haben, in der der Operator „$ Inc“ angewendet werden kann. Daher sollten wir eine Datenbanksammlung in unserem MongoDB -System haben, um sie zu verwenden. Dafür generieren wir einen leeren Sammlungsnamen „Test“, nachdem wir die Funktion „createCollection“ in der MongoDB -Konsole verwendet haben.

Test> db.CreateCollection ("Test")

Die Bestätigung „OK: 1“ zeigt, dass die leere Sammlung „Test“ jetzt generiert wird. Um dies zu überprüfen, probieren Sie die Funktion „find ()“ zusammen mit dem Namen einer Sammlung wie in der folgenden Abbildung aus. Im Moment zeigt es, dass diese Sammlung keine Datensätze hat.

Test> db.Prüfen.finden()

Fügen Sie der Sammlung Datensätze hinzu

Der zweite Schritt in Richtung der Verwendung des „$ Inc“ -Ontreibers in MongoDB besteht darin, die Datensätze zu einer neu generierten Sammlung „Test“ hinzuzufügen, "Test" hinzuzufügen. Zu diesem Zweck werfen wir die Funktion InsertMany () -Funktion ab, die den Namen einer Sammlung „Test“ vorausgeht, ab. In dieser Sammlung werden insgesamt 3 Datensätze hinzugefügt. Jedes seiner Datensätze enthält 3 Einzelfelder - ID -Titel-, Alter- und 1 -Dokumentformatfeld. Die Felder in einem Feld wie "Score" und "Position" befinden sich im Feld "Daten".

Test> db.Prüfen.InsertMany ([ID: 1, Titel: "Eden", Alter: 22, Daten: Punktzahl: 450, Position: 2,
… ID: 2, Titel: "Bella", Alter: 21, Daten: Punktzahl: 498, Position: 1,
… ID: 3, Titel: "Lia", Alter: 22, Daten: Score: 442, Position: 3])

Die zuvor angehängte Bildausgabe zeigt, dass die Einfügung erfolgreich an unserem Ende stattfindet. Jetzt ist es Zeit, diese hinzugefügten Datensätze anzuzeigen. Um es anzuzeigen, hilft uns die „Find“ -Funktionsabfrage von MongoDB, die den Namen der Sammlung „Test“ vorausgeht, da wir sie bereits im vorherigen Beispiel verwendet haben. Die 3 Datensätze der "Test" -Kollektion werden wie im Folgenden dargestellt angezeigt:

Test> db.Prüfen.finden()

Beispiel 1: Ändern Sie ein einzelnes Feld in einem einzelnen Datensatz

Beginnen Sie mit diesem Beispiel. Dazu müssen Sie die Funktion "UpdateOne" in der Anweisung "DB" ausprobieren, gefolgt von der "Test" -Kollektion. Dieser Befehl sollte mit der Identifizierung einer Datensatznummer über sein spezifisches Feld „ID: 1“ beginnen,. Danach beginnt ein anderer Satz mit der Verwendung des „$ Inc“ -Preibers, der auf ein bestimmtes einzelnes Feld mit einem numerischen Wert angewendet wird. Dieser numerische Wert wird im tatsächlichen Wert des Feldes erhöht, der „Alter“ ist. Die Ausführung dieser Abfrage zeigt die Bestätigung an.

Test> db.Prüfen.updateOne (id: 1, $ inc: älter: -1)

Lassen Sie uns den Datensatz "1" aus der "Test" -Kollektion unter Verwendung der ID: 1 als Identifikation in der Funktion „Find“ der Abfrage „DB“ abrufen. Die Ausgabe zeigt, dass das Feld „Alter“ erfolgreich durch einen "-1" -Wert für einen Datensatz von "1" erhöht wird, ich.e. Alter = 22 + (-1) = 21.

Test> db.Prüfen.find (id: 1)

Beispiel 2: Ändern Sie mehrere Felder in einem einzigen Datensatz

Verwenden wir den Operator "$ Inc" in der Sammlung "Test", um die Mehrfachfeldwerte einschließlich des Feldes vom Dokumentstyp zu erhöhen. Denken Sie daran, dass diese Schritte auf mehreren Feldern nur für einen einzelnen Datensatz in einer "Test" -Kollektion gelten. Die Funktion updateOne () wird also erneut verwendet, um die Datensatznummer "2" aus der "Test" -Kollektion zu aktualisieren, die durch "ID: 1" identifiziert wurde. Der Operator „$ Inc“ wird auf das Feld "Age" mit einem Format angewendet, um seinen vorherigen Wert mit "-1" hinzuzufügen, um "-1" hinzuzufügen. Außerdem werden die Felder „Score“ und „Position“ im Feld Dokumentformat „Daten“ durch „580“ bzw. „2“ gemäß der Ausgabe unter Verwendung des "Punkt" -Produkts erhöht.

Test> db.Prüfen.updateOne (id: 2, $ inc: alter: -1, "Daten.Punktzahl ": 580", Daten.Position ": 2)

Nachdem wir den Datensatz "2" der "Test" -Kollektion geändert haben, schauen wir sie uns über die "Find" -Funktion, die in der Anweisung "DB" verwendet wird identifiziert. Der Wert eines einzelnen Datensatzes, "Age", zusammen mit den Punktzahl- und Positionsfeldern innerhalb eines verschachtelten "Daten" -Feldes wird vom Bediener "$ Inc" erfolgreich erhöht.

Test> db.Prüfen.find (id: 2)

Beispiel 3: Ändern Sie mehrere Felder in mehreren Datensätzen

Nachdem wir die einzelnen und mehrere Felddatensätze in einem einzelnen Datensatz geändert haben, ändern wir nun die mehreren Felder mehrerer Datensätze in einer Sammlung durch die Verwendung des Bedieners „$ Inc“. Dafür ändern wir die Abfrage "Update". Anstatt die Funktion "updateOne" zu verwenden, haben wir die Funktion "updatemany" ausgelöst, um mehr als 1 Datensatz einer "Test" -Kollektion zu ändern. Diese "DB" -Bäume kann das Feld "ID" für mehrere Datensätze verwenden oder einfach nur die lockigen Klammern "" leer lassen, um alle Datensätze der Sammlung zu ändern. Der Betreiber „$ Inc“ verändert die Felder für Alter, Punktzahl und Position aller 3 Datensätze in einer Reihe für die "Test" -Sammel. Die modifizierte Anzahl "3" zeigt die Bestätigung nach der Ausführung dieser Abfrage.

Test> db.Prüfen.updatemany (, $ inc: Alter: 1, "Daten.Punktzahl ": 50", Daten.Position ": -1)

Nachdem wir die mehreren Felder mehrerer Datensätze geändert haben, nachdem der Betreiber „$ Inc“ angewendet wurde. Nachdem wir alle 3 Datensätze der Sammlung „Test“ angezeigt haben, stellen wir fest, dass alle zuvor spezifizierten Felder durch bestimmte Werte für alle 3 Datensätze erhöht werden.

Test> db.Prüfen.finden()

Abschluss

Dieser Artikel enthält den Vergleich von Inkrement -Operatoren anderer Programmiersprachen und den „$ Inc“ -Betreiber von MongoDB in seinem Einführungsabsatz. Nachdem wir bestimmte Abfragebeispiele in der MongoDB -Shell ausprobiert hatten. In den ersten beiden Instanzen geht es um das Inkrement eines einzelnen Feldes und mehrere Felder (einschließlich eines Dokumentformatfelds) innerhalb eines einzelnen Datensatzes. Während die letzte Illustration Ihnen hilft, viele Felder in mehreren Datensätzen jeder Datenbank auf einfachste Weise zu erhöhen.