CRUD-Operationen in MongoDB: Tutorial mit Beispielen

Veröffentlicht: 2020-02-05

Mit der kontinuierlichen Weiterentwicklung des Internets sehen wir jetzt, wie MongoDB und andere Dokumentobjektdatenbanken als Alternativen zu herkömmlichen SQL-basierten Datenbanken auftauchen. Es gibt mehrere Vorteile, die diese Dokumentobjektdatenbanken gegenüber SQL-Datenbanken haben, und die wichtigsten dieser Vorteile sind Skalierbarkeit und Agilität.

Es ist wichtig zu beachten, dass Daten in MongoDB im binär codierten JSON (BSON)-Dokumentformat gespeichert sind. Dieses Format muss möglicherweise Arrays eingebetteter Dokumente oder Werte enthalten. Ein Dokument bildet einen Datensatz in MongoDB, bei dem es sich um eine Struktur handelt, die aus Wert- und Feldpaaren erstellt wird.

Lassen Sie uns nun Vorgänge zum Erstellen, Aktualisieren, Abrufen und Löschen oder CRUD-Vorgänge in MongoDB besprechen. Diese Funktionen können allgemein als Datenänderungsfunktionen in MongoDB klassifiziert werden. Diese können nur für eine einzige Sammlung verwendet werden. Insert ist eine Funktion in MongoDB, mit der Daten zur Datenbank hinzugefügt werden können.

Inhaltsverzeichnis

Liste der CRUD-Operationen in MongoDB

1. Erstellen von Dokumenten

Wie werden Objekte mit MongoDB erstellt? MongoDB verwendet BSON – eine binäre Darstellung von JSON – für seine Speicherung. Es ist also recht einfach zu verstehen, dass Methoden, mit denen verschiedene Operationen in der Datenbank ausgeführt werden, das eine oder andere mit JavaScript zu tun haben. Lassen Sie uns einen Benutzer und eine Sammlung von Benutzern erstellen. Es ist auch wichtig zu beachten, dass Tabellen in SQL Sammlungen in MongoDB entsprechen.
db.users.save({Name:“Mike“, Job:“Arzt“,E-Mail:“[email protected]“})
Dieses Beispiel verwendet MongoDB save() zum Speichern der Daten in der Sammlung.

2. Dokumente einfügen

  • Stapeleinfügung : Diese Funktion ermöglicht das gleichzeitige Hinzufügen einer Liste von Dokumenten zu einer Datenbank. Ein Stapel kann zu einem bestimmten Zeitpunkt Hunderte oder sogar Tausende von Dokumenten umfassen. Mit der Möglichkeit, mehrere Dokumente einzufügen, arbeitet diese Funktion viel schneller als andere Einfügefunktionen. Eine Stapelbeilage erfordert nicht, dass Sie einzelne Anfragen für Hunderte oder Tausende von Dokumenten stellen. Es funktioniert stattdessen als eine TCP-Anfrage (Transmission Control Protocol). Die Zeit, die während des Einfügens benötigt wird, ist immer erheblich kürzer, da keine Header-Verarbeitungsaktivität beteiligt ist. Jedes einzufügende Dokument trägt einen Header, der der Datenbank die auszuführende Operation mitteilt. Meistens werden Batch-Inserts verwendet, um Sensordaten und Serverprotokolle zu speichern.
  • Mongoimport : Mongoimport ist ein Befehlszeilentool, das anstelle der Batch-Einfügung zu wesentlichen Daten aus MySQL, Oracle oder einem anderen relationalen Datenbankverwaltungssystem (RDBMS) verwendet wird. Es kann vorkommen, dass Sie Änderungen an Dokumenten vornehmen müssen – eine benutzerdefinierte ID hinzufügen – bevor Sie sie in MongoDB speichern. Eine weitere wichtige Sache, die Sie wissen sollten, ist, dass MongoDB nur Nachrichten mit einer Größe von bis zu 16 MB akzeptiert. Die Stapeleinfügung schränkt also die Anzahl der Nachrichten ein, die sie haben kann.
  • Ungeordnete Masseneinfügung : In dieser Funktion schreibt MongoDB Operationen, ohne einer Reihenfolge zu folgen. Im Fehlerfall wird es mit den verbleibenden Schreibvorgängen ohne Unterbrechung fortfahren. MongoDB bildet eine Gruppe der ungeordneten Operationen, während sie diese ausführt. MongoDB kann auch eine Leistungsverbesserung anstreben, indem aufgelistete Operationen vor der Ausführung neu angeordnet werden. Anwendungen müssen sich also nicht auf eine Sequenz verlassen, wenn sie diese Funktion für die Masseneinfügung in Betracht ziehen. Bulk.getOperations() kann verwendet werden, um zu sehen, wie MongoDB eine Reihe von Operationen gruppiert und sie dann ausführt. Mit diesem Befehl können drei Dokumente gleichzeitig, aber ohne Reihenfolge, hinzugefügt werden.
  • Geordnete Masseneinfügung: In dieser Funktion folgt MongoDB beim Schreiben von Operationen einer Reihenfolge. Ein Fehler während eines Schreibvorgangs führt dazu, dass MongoDB keine anderen Schreibvorgänge durchführt. Geordnete Operationen werden unter Berücksichtigung ihrer Kontinuität und ihres Typs gruppiert. Benachbarte geordnete Operationen, die zu derselben Klasse gehören, werden gruppiert.

Wenn beispielsweise eine geordnete Liste eine Einfügeoperation gefolgt von einer Löschoperation gefolgt von zwei Aktualisierungsoperationen enthält, erstellt MongoDB drei Gruppen, um diese zu stapeln. Gruppe eins besteht aus einer Einfügeoperation. Die zweite Gruppe hat eine Löschoperation. Die dritte Gruppe wird die beiden Aktualisierungsoperationen zusammenfügen.

Es wird erwartet, dass die zukünftigen Editionen von MongoDB dieses Verhalten angemessen behandeln. Jede Gruppe geordneter Massenlisten darf nicht mehr als 1000 Vorgänge enthalten. Falls die Anzahl diese Höchstgrenze überschreitet, erstellt MongoDB kleinere Gruppen von 1000 Operationen oder weniger, um diese Grenze einzuhalten. Wenn es also 7000 bestellte Massenoperationen gibt, gibt es sieben Gruppen, die jeweils aus 1000 Massenoperationen bestehen. Um zu sehen, wie die Gruppierung und Ausführung erfolgt, führen Sie zuerst den Bulk-Insert-Befehl aus und verwenden Sie dann den Bulk.getOperations-Befehl. Dieser Befehl kann verwendet werden, um drei Dokumente nacheinander hinzuzufügen.

3. Abrufen/Lesen von Dokumenten

Jede Abfrage in MongoDB richtet sich an bestimmte Dokumente. MongoDB identifiziert Dokumente basierend auf der in einer Abfrage definierten Bedingung und gibt diese Dokumente dann an ihr beabsichtigtes Ziel zurück. Eine Abfrage zum Abrufen von Dokumenten kann eine Projektion haben, die Bedingungen oder Kriterien erwähnt, die mit den Feldern des Dokuments übereinstimmen, das zurückgegeben werden muss.

Abfragen können modifiziert werden, um Sprünge, Limits und Sortierreihenfolgen zu setzen.

Lassen Sie uns nun diskutieren, wie die Gleichheitsbedingung spezifiziert wird. Verwenden Sie den Befehl findOne(), um den ersten Datensatz eines Dokuments zu identifizieren. Um Ergebnisse im richtigen Format anzuzeigen, können Sie die hübsche Methode verwenden.

Verwenden Sie die Abfrage db.items.find().pretty(), um alle in einer Sammlung aufgelisteten Dokumente zu identifizieren und alle in einem standardisierten Format anzuzeigen. Sie können eine leere Abfrage verwenden, um alle Dokumente auszuwählen – db.items.find( {} ) – diese Abfrage hat am Ende eine leere Abfrageklausel – sodass alle in einer Sammlung aufgelisteten Dokumente identifiziert werden.

Wenn Sie die find-Methode nicht mit einem Abfragedokument angeben und eine leere Abfrage verwenden, wird dasselbe Ergebnis geliefert. Daher sind die Abfragen db.items.find( {} ) und db.items.find() in Bezug auf das Ergebnis, für das sie verwendet werden, gleichwertig.

Sie können die Abfrage bearbeiten und die Abfrage-Cursor-Methode verwenden, während Sie mit der Zählmethode die Anzahl der Dokumente in einer Sammlung ermitteln können, die Ihrer Abfrage entsprechen. db.items.count()

4. Aktualisieren von Dokumenten

Sie müssen die Methode update() verwenden, um Dokumente in MongoDB zu aktualisieren. Die Aktualisierungsmethode weist zwei wichtige Elemente auf – Abfrage und Aktualisierung. Der Abfrageparameter kommt zuerst, gefolgt vom Aktualisierungsparameter. Hier ist ein Beispiel

db.users.update({name:”Mike”}, {Alter: 32})

Dies ist jedoch nicht der richtige Weg, um ein Wertepaar zu aktualisieren, was in diesem Fall das Alter ist. Damit überschreiben Sie alles im Dokument. Das einzige, was im Alter bleiben wird. Wenn wir also ein einzelnes Wertepaar im gesamten Dokument aktualisieren müssen, müssen wir einige Schlüsselwörter verwenden.

db.users.update({name: „Mike“}, { $set: { Alter: 28}})

Dadurch wird nichts überschrieben. Sie würden alle Informationen des Dokuments behalten. Nur der Alterswert wird aktualisiert.

5. Dokumente entfernen

Verwenden Sie die remove-Methode – db.courses.remove() – um Dokumente aus einer Sammlung zu entfernen. Dieser Befehl entfernt alle Dokumente aus der angegebenen Sammlung. Was nicht entfernt wird, sind die Indizes und die Sammlung selbst. Manchmal kann der Befehl remove eine Abfrage als Parameter annehmen. Wenn Sie Dokumente entfernen möchten, die den in der Abfrage genannten Kriterien entsprechen, verwenden Sie den Befehl db.items.remove({"item": "Pen").

Verwenden Sie den Befehl db.items.remove({” item” : “Bag},1) , um nur ein Dokument aus einer Sammlung zu entfernen. Um alle Dokumente, Sammlungen und Indizes zu entfernen, verwenden Sie den Befehl db.courses.drop() (Drop-Methode).

Fazit

Wenn Sie mehr über Big Data erfahren möchten, schauen Sie sich unser PG Diploma in Software Development Specialization in Big Data-Programm an, das für Berufstätige konzipiert ist und mehr als 7 Fallstudien und Projekte bietet, 14 Programmiersprachen und Tools abdeckt und praktische praktische Übungen enthält Workshops, mehr als 400 Stunden gründliches Lernen und Unterstützung bei der Stellenvermittlung bei Top-Unternehmen.

Lernen Sie Softwareentwicklungskurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Führen Sie die datengesteuerte technologische Revolution an

Über 400 Lernstunden. 14 Sprachen & Tools. IIIT-B Alumni-Status.
Fortgeschrittenes Zertifikatsprogramm in Big Data vom IIIT Bangalore