Auf einen Blick: Das Erstellen einer Datenbank in MongoDB verwendet den Befehl 'use', der die Datenbank beim Einfügen der Daten generiert und ihre schemalose Struktur widerspiegelt. Der Leitfaden behandelt die Installation, den Zugriff auf die Mongo-Shell und die Verwendung von MongoDB Compass für die grafische Datenbankverwaltung.
- MongoDB verwendet Sammlungen anstelle von Tabellen zur Datenspeicherung.
- Datenbanken werden instanziiert, wenn Daten gespeichert werden, nicht vorher.
MongoDB ist eine NoSQL-Datenbank. Das bedeutet, dass unsere Arbeitsweise in MongoDB sich von einer relationalen Datenbank wie MySQL unterscheidet. Wenn Sie aus einem RDBMS-Hintergrund kommen, werden Sie sich mit diesem Thema sehr wohlfühlen.
Überraschenderweise hat MongoDB jedoch keine Operation "Datenbank erstellen", um eine Datenbank zu erstellen, wie es in SQL der Fall ist. In diesem Artikel wollen wir also erkunden, wie man mit Datenbanken in MongoDB arbeitet.
Wenn du MongoDB noch nicht installiert hast, lass es uns zuerst machen. Lade das MongoDB-Paket herunter, das für dein Betriebssystem geeignet ist. Lade die mit deinem Betriebssystem kompatible msi/zip-Datei herunter und installiere die Anwendung. (Ich werde den Installationsprozess nicht im Detail beschreiben, da er unkompliziert ist.)
Ich nehme an, du hast die MongoDB-Datenbank jetzt erfolgreich installiert. Öffne dein CMD und gib mongod --version ein, um deine Installation zu überprüfen. Wenn du ein ähnliches Ergebnis wie auf dem Bild unten erhältst, ist alles perfekt.
Zugriff auf die Mongo-Hülle
Wenn du MongoDB installierst, wird ein CLI-Tool namens Mongo Shell mit installiert. Du kannst es nutzen, um dem MySQL-Server Befehle zu geben. Um Zugriff auf die Mongo-Shell zu erhalten, musst du den Server mit folgendem Befehl starten:
net start MongoDB
Wenn Sie diese Ausgabe erhalten, hat der MongoDB-Server erfolgreich gestartet:
Als Nächstes sollten wir die MongoDB-Shell ausführen. Dazu geben Sie den Befehl mongo im CMD ein.
Jetzt befinden Sie sich in der MongoDB-Shell, wo Sie Befehle ausführen können, um:
- Datenbanken erstellen
- Daten einfügen
- Daten aus Datenbanken bearbeiten und löschen
- Erteile administrative Befehle
Erstellung einer Mongo-Datenbank
Wie ich bereits sagte, gibt es keinen Befehl 'Datenbank erstellen' in MongoDB. Das bedeutet nicht, dass es keine Möglichkeit gibt, eine Datenbank zu erstellen – natürlich gibt es sie. Mal sehen, wie man eine Datenbank namens Company mit der Shell erstellt.
MongoDB hat ein Schlüsselwort namens 'use', das verwendet wird, um zu einer bestimmten Datenbank zu wechseln. Wenn du zum Beispiel mit einer bestehenden Datenbank namens Employee verbinden möchtest, kannst du den Befehl 'use Employee' verwenden, um dich damit zu verbinden. Wenn es jedoch keine Datenbank als Mitarbeiter gibt, erstellt der Befehl 'use' sie und verbindet dich damit. Verwenden wir den Befehl 'use', um unsere Datenbank zu erstellen.
use Company
Wenn Sie den Befehl verwenden, sehen Sie folgende Ausgabe:
Mongo hat die Firmendatenbank erstellt und dich damit verbunden. Du kannst den DB-Befehl zur Bestätigung verwenden, der die aktuell verbundene Datenbank anzeigt.
Sie möchten vielleicht alle bestehenden Datenbanken sehen, bevor Sie eine neue Datenbank erstellen. Sie können dies mit dem Befehl 'show dbs' machen, und es gibt folgendes Ergebnis zurück:
Installation von MongoDB
Die Installation von MongoDB erstellt drei Standarddatenbanken:
- Verwaltung
- Konfiguration
- Lokal
Überraschenderweise ist die gerade erstellte Datenbank nicht aufgeführt. Das liegt daran, dass MongoDB die Datenbank erst wirklich erstellt, wenn wir Werte speichern.
Eine der entscheidenden Eigenschaften von NoSQL-Datenbanken wie MongoDB ist, dass sie schemalos sind – es gibt kein Schema. Das bedeutet, dass man keine Struktur für die Datenbanken/Tabellen angibt, wie man es in SQL tut. Anstelle von Tabellen und Zeilen in SQL hat MongoDB Sammlungen und Dokumente. Schauen wir uns also an, wie du mit Sammlungen in MongoDB arbeitest.
Verwendung von Sammlungen in MongoDB
In SQL gibt es Tabellen, die eine klar definierte Struktur mit Spalten und angegebenen Datentypen haben. Sie fügen Daten als Datensätze in Tabellen ein. Jeder Datensatz, den Sie einfügen, sollte Werte (einschließlich Nullwerte) für jede in der Tabelle definierte Spalte enthalten.
Im Gegensatz dazu hat NoSQL Sammlungen statt Tabellen. Diese Sammlungen haben keine Struktur, und man fügt Daten als Dokumente in die Sammlung ein. Das bedeutet, dass ein Dokument völlig anders sein kann als ein anderes. Lassen Sie uns eine Sammlung namens Employee erstellen und ein Dokument hinzufügen.
Bevor Sie eine Sammlung erstellen können, denken Sie daran, dass Sie Daten zu Dokumenten im JSON-Format hinzufügen. Der Befehl, ein Dokument in unsere Datenbank einzufügen, sieht also so aus:
db.Employee.insert(
{
"Employeename" : "Chris",
"EmployeeDepartment" : "Sales"
}
)
Wenn die Einfügung erfolgreich ist, wird WriteResult({ "nInserted" : 1 }) zurückgegeben:
Zuerst wechseln Sie zur Datenbank, um Werte mit dem Befehl 'use' hinzuzufügen. Dann verwenden Sie den Befehl db. Employee.insert , um ein Dokument zur Datenbank hinzuzufügen:
- Db bezieht sich auf die derzeit verbundene Datenbank.
- Mitarbeiter ist die neu erstellte Sammlung in der Unternehmensdatenbank.
Ein bedeutendes Problem, das Ihnen bei dieser Abfrage auffallen wird, ist, dass wir keinen Primärschlüssel gesetzt haben. MongoDB erstellt automatisch ein Primärschlüsselfeld namens _id und setzt einen Standardwert darauf. Um das zu sehen, sehen wir uns die gerade erstellte Sammlung an. Führen Sie folgenden Befehl aus, um auf unsere Sammlung im JSON-Format zuzugreifen.
db.Employee.find().forEach(printjson)
Er druckt folgende Ausgabe aus:
In MongoDB kann man kein beliebiges Feld auf den Primärschlüssel setzen. Allerdings kann man den Wert des Standard-Primärschlüssels ändern. Fügen wir ein weiteres Dokument hinzu, während wir auch Wert für _id angeben.
db.Employee.insert(
{
"_id" : 1,
"EmployeeName" : "Mark",
"EmployeeDepartment" : "Marketing"
}
)
Großartig. Jetzt wissen wir auch, wie man den Primärschlüssel benutzt. Kehren wir zu unserem Hauptthema zurück. Haben wir jetzt unsere Datenbank erstellt? Führe den folgenden Befehl erneut aus, um es herauszufinden.
show dbs
Jetzt sieht man, dass die Datenbank 'Unternehmen' im Ergebnis aufgeführt ist: Es hat funktioniert!
Entfernung einer Datenbank
Es ist nicht gut, diese bedeutungslose Datenbank auf Ihrem Server zu lassen. Also entfernen wir sie, denn es ist eine gute Gelegenheit für uns, zu lernen, wie man eine Datenbank entfernt. Um eine beliebige Datenbank zu entfernen, müssen Sie sich zuerst mit dem Schlüsselwort "verwenden" verbinden.
use Company
Gib als Nächstes db.dropDatabase() ein, um die Datenbank von deinem Server zu entfernen.
Führe den Befehl 'Show dbs' erneut aus, um es zu überprüfen.
Verwendung von MongoDB Compass
Das sollte das Ende unseres Tutorials sein – wir haben eine Mongo-Datenbank erstellt und entfernt. Allerdings möchte ich noch auf eine Sache sprechen. Obwohl die Mongo-Shell ein großartiges Werkzeug für die Arbeit mit MongoDB-Servern ist, finden viele Menschen sie schwierig, besonders in einer Produktionsumgebung.
Deshalb empfehle ich dir, dich mit einem MongoDB Compass-Tool vertraut zu machen, einer großartigen GUI, um mit MongoDB zu arbeiten. Hier zeige ich dir, wie du eine Datenbank in der Compass-GUI erstellst. Du kannst die Compass-IDE für jedes Betriebssystem herunterladen. Auch hier ist der Installationsprozess sehr unkompliziert.
Öffne jetzt die Anwendung und stelle eine Verbindung mit dem MySQL-Server her, den wir zuvor installiert haben.
Gehe zu 'Verbindungsfelder einzeln ausfüllen'. Das führt dich zum folgenden Bildschirm. Wenn du bei der Installation von MongoDB die Standardwerte verwendest, musst du nur auf die Schaltfläche VERBINDEN klicken.
Jetzt kannst du eine Liste der Datenbanken sehen, die auf deinem MongoDB-Server verfügbar sind.
Klicken Sie auf die Schaltfläche Datenbank erstellen, um eine neue Datenbank zu erstellen. Geben Sie dann einen Datenbanknamen und einen Sammlungsnamen an:
Im Gegensatz zur Mongo-Shell erstellt Compass eine Datenbank, auch ohne Daten hinzuzufügen:
Wir können es auch mit der Mongo-Schale verifizieren:
Compass hat eine sehr intuitive Benutzeroberfläche, um mit der MongoDB-Datenbank zu arbeiten. Das spart viel Zeit, wenn du große Anwendungen entwickelst. Ich empfehle dir trotzdem, die Mongo-Shell zu verwenden und sie gut zu verstehen.
Wir sehen uns beim nächsten Mal für ein weiteres MongoDB-Tutorial.
Zusätzliche Ressourcen
Für weitere Tutorials wie dieses entdecken Sie diese Ressourcen:
MongoDB-Leitfaden
- MongoDB-Überblick: Einstieg mit MongoDB
- Wie man MongoDB auf Ubuntu und Mac installiert
- Erstellung einer Datenbank in MongoDB
- MongoDB Shell Grundbefehle
- MongoDB Compass: Nutzung der Mongo GUI
- MongoDB rollenbasierte Zugriffskontrolle (RBAC) erklärt
- MongoDB-Projektion und Projektionsoperatoren erklärt
- MongoDB-Aggregatfunktionen erklärt
- MongoDB-Sortierung: sort()-Methode & Beispiele
- Verwendung von Push-and-Pull-Operatoren in MongoDB
- Wie man MongoDB $unwind
- 23 Gängige MongoDB-Abfrageoperatoren und deren Verwendung
- MongoDB GeoLocation-Abfragebeispiele
- Einführung in MongoDB-Transaktionen
- MongoDB-Indizes: Top-Indextypen und deren Verwaltung
- Die wichtigsten MongoDB-Befehle, die du kennen solltest
- MongoDB-Replikation: Eine vollständige Einführung
- Wie man einen MongoDB-Cluster einrichtet
- MongoDB Sharding: Konzepte, Beispiele & Tutorials
- MongoDB Atlas: Einrichtung und Nutzung von verwaltetem MongoDB
- Wie man MongoDB als Docker-Container ausführt
- MongoDB-Speichernutzung, Verwaltung und Anforderungen
- Wie man Mongodump für MongoDB-Backups verwendet
- Mongorestore-Beispiele zur Wiederherstellung von MongoDB-Backups
- Wie man PyMongo benutzt
- Wie man Mongoose für MongoDB und NodeJS verwendet
- MongoDB Spickzettel
- MongoDB vs Cassandra: NoSQL-Datenbanken im Vergleich
- PostgreSQL vs MongoDB: Vergleich von Datenbanken
- MySQL vs. MongoDB: Vergleich von Datenbanken
- MongoDB-Zertifizierungen: Eine Einführung
Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.