Aktualisieren Sie das Push-Array in MongoDB

Tahseen Tauseef 15 Februar 2024
  1. Operatoren in MongoDB
  2. $push-Operator in MongoDB
  3. Push-Elemente in ein Array in MongoDB
  4. Push-Elemente am Anfang des Arrays in MongoDB
  5. Push-Elemente am Ende des Arrays in MongoDB
  6. Pushen Sie mehrere Elemente in MongoDB
Aktualisieren Sie das Push-Array in MongoDB

Dieser Anleitungsbeitrag zeigt Ihnen, wie Sie mit verschiedenen Techniken Elemente zu einem Array in MongoDB hinzufügen. Das Pushen oder Hinzufügen von Elementen zu einem Array ist äußerst praktisch, um schnell eine Liste anzuhängen, indem Objekte in einem vorhandenen MongoDB-Dokument hinzugefügt oder verschoben werden.

Die Lektion lehrt, wie man sowohl negative als auch positive Ganzzahlen für push-Operationen verwendet, wobei eine negative Ganzzahl zusätzliche push-Möglichkeiten bietet, um Daten in das Array einzufügen.

Voraussetzung:

  1. MongoDB muss entsprechend installiert und konfiguriert sein, um Elemente zu einem Array in MongoDB hinzuzufügen.
  2. Ein grundlegendes Verständnis der Funktionsweise von Arrays.

Sehen wir uns zunächst das Inhaltsverzeichnis dieses Artikels an.

  1. Operatoren in MongoDB
  2. $push-Operator in MongoDB
  3. Elemente in ein Array verschieben
  4. Schieben von Elementen am Anfang des Arrays
  5. Schieben von Elementen am Ende des Arrays

Operatoren in MongoDB

Operatoren sind spezielle Symbole oder Schlüsselwörter, die einem Compiler oder Interpreter mitteilen, wie er mathematische oder logische Operationen ausführen soll. Die Abfrageoperatoren erweitern die Möglichkeiten von MongoDB, indem sie es Entwicklern ermöglichen, komplizierte Abfragen zu schreiben, um mit Datensätzen zu interagieren, die für ihre Anwendungen relevant sind.

Im Folgenden sind die verschiedenen Arten von Operatoren in MongoDB aufgeführt.

  1. Abfrage- und Projektionsoperatoren – Abfrageoperatoren helfen beim Auffinden von Daten in einer Datenbank, während Projektionsoperatoren ändern, wie Daten angezeigt werden.
  2. Update-Operatoren – Update-Operatoren ermöglichen es Ihnen, Daten zu Ihrer Datenbank zu ändern oder hinzuzufügen.
  3. Aggregation Pipeline Stages – Verfügbare Aggregationsstufen für die Aggregation Pipeline.
  4. Aggregations-Pipeline-Operatoren – Aggregations-Pipeline-Operationen verfügen über eine Sammlung von Operatoren, die zum Definieren und Bearbeiten von Dokumenten in Pipeline-Stufen verfügbar sind.
  5. Abfragemodifikatoren – Abfragemodifikatoren bestimmen, wie Abfragen ausgeführt werden.

$push-Operator in MongoDB

In MongoDB wird der Operator $push verwendet, um einen Wert an ein Array anzuhängen. Der $push-Operator ist ein update-Operator.

Befindet sich das angegebene Feld nicht in dem zu ändernden Dokument, erstellt der Operator $push es als neues Feld mit dem angegebenen Wert als Element. Der Vorgang ist fehlgeschlagen, wenn das Aktualisierungsfeld nicht vom Array-Typ war.

Beim Aktualisieren hängt der Operator $push das gesamte Array als einzelnes Element an, wenn der Wert ein Array ist. Verwenden Sie den Operator $push mit dem Modifikator $each, um jedes Wertelement einzeln hinzuzufügen.

Syntax:

db.collection.update( <query>,{ $push: { <field>: <value> } })

Beispiel für den MongoDB-Operator $push:

Wenn Sie 95 an das Array-Feld anhängen möchten, das ausgeführt wird, wenn die Bedingung Fächer Mathematik ist, können wir den MongoDB-Befehl unten verwenden.

db.student.update( { "subjects" : "maths" },{ $push: { "achieve": 95 } });

Da das im vorigen Beispiel beschriebene Kriterium zu dieser Aktion passt, wird der Wert 95 an das Array completed angehängt.

So sehen Sie sich das neu aktualisierte Dokument an:

db.student.find().pretty();

Die Ausgabe der oben angegebenen Abfrage ist in diesem Screenshot zu sehen.

Push-Operator verwenden

Beispiel für MongoDB $push, wenn das Feld kein Array ist:

Wenn Sie 2 zur Spalte sem hinzufügen möchten, die kein Array-Typ-Feld ist, können wir den MongoDB-Befehl unten verwenden.

db.student.update( { "subjects" : "maths" },{ $push: { "sem": 2 } });

Da das Feld sem im obigen Beispiel nicht vom Typ Array ist, schlägt die Operation fehl und führt zu folgendem Ergebnis.

Cannot apply $push/$push All modifier to non-array

Push-Elemente in ein Array in MongoDB

Dieser Abschnitt zeigt, wie man einen $push-Operator verwendet, wie z. B. eine update-Operation, um einem Array ein Element hinzuzufügen.

Erstellen Sie zunächst wie folgt einen Beispieldatensatz mit Früchten.

use fruitdb
switched to db fruitdb
db.fruit.insert({
      "_id": "100",
      "fruitArray": ['mango', 'banana', 'orange']
   });
WriteResult({ "nInserted" : 1 })

Überprüfen Sie nun den Einfügevorgang mit dem folgenden Befehl.

db.fruit.find({_id: "100"});

Das Ergebnis sollte wie folgt aussehen.

Push-Elemente in ein Array in MongoDB

Fügen Sie nun eine weitere Frucht in das fruitArray ein. Führen Sie in diesem Beispiel den folgenden Befehl aus, um pineapple hinzuzufügen.

db.fruit.update(
      { "_id": "100" },
      {
          $push: {
              fruitArray: "pineapple"
          }
      }
  );

Die Ergebnisse sollten wie folgt aussehen.

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Ananas erfolgreich als Element zum fruitArray hinzugefügt wurde.

db.fruit.find({_id: "100"}).pretty();

Die Ausgabe sollte wie folgt aussehen.

Push-Elemente in ein Array in MongoDB 2

Die Ergebnisse zeigen, dass der Operator $push das Wort pineapple am Ende des fruitArray eingefügt hat.

Push-Elemente am Anfang des Arrays in MongoDB

Im vorangegangenen Abschnitt wurde beschrieben, wie Sie ein neues Element an den Anfang eines Arrays anhängen. Dieser Abschnitt zeigt, wie man das Element grapes am Anfang des Arrays einfügt.

Der folgende Befehl wird verwendet, um diese Aktion auszuführen.

db.fruit.update(
      { "_id": "100" },
      {
          $push: {
              fruitArray: {
                  $each: ['grapes'],
                  $position: 0
              }
          }
      }
  );

Der folgende Befehl kann dann bestätigen, dass der Update-Vorgang erfolgreich war.

db.fruit.find({_id: "100"}).pretty();

Die Ausgabe sollte wie folgt aussehen.

Push-Elemente am Anfang des Arrays in MongoDB

In der vorangegangenen Operation wurde der Operator $position verwendet. Wie der Name schon sagt, platziert dieser Befehl das Element innerhalb des vom Benutzer definierten Arrays.

Denken Sie auch daran, dass die positive Ganzzahl, die für den Wert $position verwendet wird, vom linken oder Anfang des Arrays verschoben wird.

Push-Elemente am Ende des Arrays in MongoDB

Der vorangegangene Abschnitt zeigt, wie Sie ein Element am Anfang eines Arrays einfügen, indem Sie eine positive ganze Zahl als Wert des Operators $position verwenden. In diesem Teil erfahren Sie, wie Sie die Elemente mit einer negativen Ganzzahl als Wert pushen, wie hier gezeigt.

db. fruit.update(
      { "_id": "100" },
      {
          $push: {
              fruitArray: {
              $each: ['apple'],
              $position: -1
          }
      }
  });

Die Ausgabe sollte wie folgt aussehen.

Push-Elemente am Ende des Arrays in MongoDB

Mit einer -1 für den Wert wurde Apfel an die vorletzte Position der Elementliste gesetzt, wobei das letzte Element an Position 0 steht.

Pushen Sie mehrere Elemente in MongoDB

Dieser Abschnitt zeigt, wie Sie mehrere Elemente in ein Array einfügen oder verschieben.

Fügen Sie zuerst innerhalb des Frucht-Dokuments ein weiteres Array hinzu.

db. fruit.insert({
      "_id": "101",
      "fruitArray": ["strawberry","guava","lemon"]
  });

Es sollte ein neues Dokument mit den folgenden Informationen erstellt werden.

Pushen Sie mehrere Elemente in MongoDB

Verwenden Sie nun den folgenden Befehl, um dem neuen Dokument zahlreiche Elemente hinzuzufügen.

db.fruit.update(
      { "_id": "101" },
      {
          $push: {
              fruitArray: {
                  $each: ['pear', 'cherry', 'lime'],
                  $position: -2
              }
          }
      }
  );

Da die Elemente ['pear', 'cherry', and 'lime'] im obigen Code gepusht werden, kann dieses Array als ein Element betrachtet werden. Dies schiebt oder bewegt pear auf die angegebene Position von -2, gefolgt von cherry und lime, in dieser Reihenfolge.

Es ist zu beachten, dass die Elemente in der angegebenen Reihenfolge zum Array hinzugefügt werden.

Dieser Artikel führte Sie durch die verschiedenen Methoden zum Hinzufügen von Elementen zu einem Array in MongoDB. Zuerst zeigte die Lektion die Verwendung eines $push-Operators, um Elemente zu einem Array hinzuzufügen, wie z. B. eine update-Operation.

Anschließend wurde demonstriert, wie man einen Beispieldatensatz generiert, Elemente in das Array einfügt und schließlich den Einfügeprozess testet. In dem Artikel wurde auch erläutert, wie Elemente am Anfang, in der Mitte und am Ende eines Arrays und wie mehrere Elemente verschoben werden.

Denken Sie daran, dass eine negative Ganzzahl als Wert Elemente an das Ende des Arrays verschiebt, während eine positive Ganzzahl Elemente vom linken oder Anfang des Arrays verschiebt.