Erste Schritte mit MongoDB für Anfänger

Erfahren Sie, was MongoDB, Installationsanleitung und grundlegende Bedienung sind.


MongoDB NoSQL ist mehr denn je im Trend. Haben Sie ein notwendiges Verständnis dafür??

Machen Sie sich keine Sorgen, wenn nicht, hilft Ihnen Folgendes.

Einführung

Mit dem Paradigmenwechsel der Website in Richtung dynamischer Inhalte stieg die Nachfrage nach No-SQL-Datenbanken. Dies führte zu zahlreichen No-SQL-Datenbanken wie MongoDB.

MongoDB wird als No-SQL-Datenbank klassifiziert und ist eine dokumentbasierte Datenbank, in der die Daten in Form von JSON-Dokumenten gespeichert werden, wobei für jedes Dokument eine automatische Generierung identifiziert wird.

Eine No-SQL-Datenbank ist eine Datenbank, in der die Tabellenstruktur im Gegensatz zu strukturierten SQL-Datenbanken nicht festgelegt ist. MongoDB speichert die Daten in Form einer JSON-Zeichenfolge, unabhängig von der Anzahl der Attribute oder dem Namen der Attribute in einer bestimmten Spalte.

Auf diese Weise können die Entwickler schnell Änderungen an den Entitäten vornehmen, ohne dass Änderungen an der Datenbankebene erforderlich sind.

MongoDB installieren

MongoDB ist wie jede andere Datenbank je nach Entwicklungsbedarf in mehreren Varianten verfügbar. Die Varianten wurden unten aufgeführt und können hier verwendet oder heruntergeladen werden Verknüpfung

  • MongoDB Atlas – Datenbank als Service
  • Community Server – Kostenlos für die Community der Entwickler
  • MongoDB Enterprise Edition – Die kommerzielle Version mit zusätzlichen Funktionen

Jedes davon ist mit jedem Betriebssystem vollständig kompatibel. Laden Sie zunächst bei der Installation des Community-Servers die entsprechende Installationsdatei gemäß Ihrem Betriebssystem herunter.

Der Installationsprozess unterscheidet sich geringfügig für jedes Betriebssystem. Daher würden wir jede Betriebssysteminstallation separat durchführen.

Installation unter MacOS

So installieren Sie MongoDB unter MacOS Laden Sie das .tgz-Archiv herunter, das die erforderlichen Binärdateien enthält. Wenn Sie die Archivierung der Datei aufheben, sollten Sie in der Lage sein, eine Reihe von Binärdateien in der Datei anzuzeigen Behälter Mappe.

  • Verschieben Sie den Ordner bin an den gewünschten Speicherort
  • Öffnen Sie ein Terminal und ändern Sie das Verzeichnis in das oben erwähnte bin-Verzeichnis
  • Führen Sie den folgenden Befehl aus, um eine Datenbank am gewünschten Speicherort zu erstellen.

$ ./mongod –dbpath / Pfad zum gewünschten Verzeichnis /

Ersetzen Sie im obigen Befehl den Pfad zum Verzeichnis durch den gewünschten Pfad, und der Server wird gestartet, sobald der Befehl ausgeführt wird.

Installation unter Windows

Das MongoDB Download Center bietet eine ausführbare Datei .msi Paket zur Installation von MongoDB in Windows. Die Installation in Windows ist recht unkompliziert und kann mit wenigen Befehlen erfolgen, sobald das Setup heruntergeladen wurde.

  • Führen Sie die folgenden Befehle aus, um MongoDB auf einem Windows-PC / Server zu installieren.

> cd / setup-folder /
> msiexec.exe / q / i .msi ^
INSTALLATION ="C: \ Programme \ MongoDB \" ^
ADDLOCAL ="MonitoringTools, ImportExportTools, MiscellaneousTools"

Mit den obigen Befehlen gelangen Sie in das entsprechende Verzeichnis und führen das Setup für die Installation am angegebenen Speicherort aus. Nach der Installation müssen Sie den Standard-Datenbankspeicherpfad für MongoDB konfigurieren. Mit dem folgenden Befehl können Sie dasselbe konfigurieren

> md \ db \ data

Der obige Befehl erstellt einen Datenbank- / Datenordner in dem Verzeichnis, auf das die Eingabeaufforderung aktuell verweist. Falls Sie die Datenbank erneut konfigurieren müssen, können Sie die Datei mongod.exe mit der Datei verwenden dbpath Argument wie unten gezeigt:

>"C: \ Programme \ MongoDB \ bin \ mongod.exe" –dbpath d: \ tutorial \ mongodb \ data

Installation unter Linux

Ähnlich wie bei den MacOS-Downloads ist MongoDB für Linux-Varianten auch in Form einer archivierten Reihe von Binärdateien verfügbar. Der Prozess zum Installieren von MongoDB ist ziemlich ähnlich.

  • Verschieben Sie die Binärdateien an den gewünschten Speicherort
  • Öffnen Sie das Terminal im Ordner
  • Führen Sie den folgenden Befehl mit dem gewünschten DB-Speicherort aus

$ ./mongod –dbpath / Pfad zum gewünschten Verzeichnis /

Erste Sammlung erstellen

MongoDB speichert die Daten in Form von JSON-Dokumenten. Eine Gruppe solcher Dokumentationen wird in MongoDB gemeinsam als Sammlung bezeichnet. Somit ist eine Sammlung analog zu einer Tabelle in einer relationalen Datenbank, während ein Dokument analog zu einem Datensatz ist.

Um Dokumente zu speichern, müssen wir zuerst eine Sammlung erstellen. Das Spannende an einer NoSQL-Datenbank ist, dass Sie im Gegensatz zur SQL-Datenbank keine Spaltennamen oder Datentypen angeben müssen.

Der erste Schritt zum Erstellen einer Sammlung ist das Erstellen einer Datenbank. Führen Sie den folgenden Befehl im Ausgangsverzeichnis der MongoDB-Installation aus, um eine Datenbank zu erstellen und über die Befehlszeile eine Verbindung zu ihr herzustellen.

$ ./bin/mongo Tutorial

Mit diesem Befehl wird die Datenbankverbindung gestartet und gleichzeitig eine Verbindung zur Lernprogrammdatenbank hergestellt. Es werden einige Zeilen im Protokoll angezeigt, um anzuzeigen, dass die Befehlszeile eine Verbindung zur MongoDB-Datenbank hergestellt hat.

Ein Beispiel für ein Befehlszeilenbild wurde unten angezeigt, um Ihnen eine bessere Vorstellung davon zu geben.

  • Führen Sie den folgenden Befehl aus, um eine Sammlung zu erstellen:

$ > db.createCollection (‘firstCollection’);

So wird eine leere Sammlung erstellt. Der nächste Schritt besteht darin, Daten einzufügen und die Datensätze über die MongoDB-Befehlszeile zu verarbeiten.

Einfügen eines Dokuments in die Sammlung

Wie oben erläutert, ist es möglich, fast jeden JSON in jede MongoDB-Sammlung einzufügen.

Beginnen wir mit dem Einfügen des ersten JSON-Dokuments in das firstCollection Sammlung oben erstellt.

> db.firstCollection.insertOne ({Name: ‘Abhishek’, Fähigkeit: ‘MongoDB’});

Der obige Befehl fügt ein einzelnes JSON-Dokument in die firstCollection ein. Das gleiche kann mit dem folgenden Befehl überprüft werden:

> db.firstCollection.find ();

Der obige Befehl hat abhängig von der Variation der Funktion find () mehrere Verwendungszwecke. Wenn keine Argumente angegeben sind, wie dies beim obigen Befehl der Fall ist, werden alle verfügbaren Dokumente aus der Sammlung abgerufen.

Sie können noch einen Datensatz einfügen und das Gleiche versuchen. In diesem Fall ähnelt die Ausgabe des obigen Befehls der unten gezeigten:

> db.firstCollection.find ();
{ "_Ich würde" : Objekt Identifikation("5b043a32c29a7184535e783a"), "Name" :: "Abhishek", "Fertigkeit" :: "MongoDB" }}
{ "_Ich würde" : Objekt Identifikation("5b05b4f0c29a7184535e783b"), "Name" :: "GeekFlare", "Fertigkeit" :: "Java, MongoDB, NodeJS" }}

Wie zu sehen ist, werden zwei verfügbare Datensätze angezeigt. Die find () -Funktion kann leicht verwendet werden, um die Dokumente basierend auf bestimmten Parametern zu filtern. Filtern wir das Dokument anhand des Namensattributs.

Der Filtervorgang ist einfach und kann anhand des folgenden Befehls verstanden werden:

db.firstCollection.find ({name: ‘Abhishek’});
{ "_Ich würde" : Objekt Identifikation("5b043a32c29a7184535e783a"), "Name" :: "Abhishek", "Fertigkeit" :: "MongoDB" }}

Der Filter kann auch mit mehreren Attributen im JSON verwendet werden. Obwohl es möglich ist, der Abfrage eine beliebige Anzahl von Parametern hinzuzufügen, besteht die Einschränkung dieses Ansatzes darin, dass nur der genaue Wert von Attributen übereinstimmt.

Filtern von Datensätzen mit Regex

Um ein MongoDB-Äquivalent einer MySQL-ähnlichen Klausel auszuführen, verwendet MongoDB Regex. Regex ist eine Reihe von Zeichen, die ein passendes Muster bilden. Die Regex-Literale ähneln denen diejenigen, die in Javascript verwendet werden.

Für die aktuelle Sammlung werden wir versuchen, die Daten abzurufen, indem wir ein Muster für das Skill-Attribut abgleichen. Der folgende Befehl ruft die Liste der Personen mit der Fähigkeit MongoDB ab. Somit werden zwei Datensätze abgerufen, da beide die Zeichenfolge MongoDB enthalten.

> db.firstCollection.find ({Fähigkeit: /.* MongoDB. * /});
{ "_Ich würde" : Objekt Identifikation("5b043a32c29a7184535e783a"), "Name" :: "Abhishek", "Fertigkeit" :: "MongoDB" }}
{ "_Ich würde" : Objekt Identifikation("5b05b4f0c29a7184535e783b"), "Name" :: "GeekFlare", "Fertigkeit" :: "Java, MongoDB, NodeJS" }}
> db.firstCollection.find ({Skill: /.* Java. * /});
{ "_Ich würde" : Objekt Identifikation("5b05b4f0c29a7184535e783b"), "Name" :: "GeekFlare", "Fertigkeit" :: "Java, MongoDB, NodeJS" }}

Der obige Code zeigt das Ergebnis von zwei verschiedenen Zeichenfolgen in der Regex-Form an. Die erste Abfrage ruft die Liste eines Dokuments ab, in dem das Skill-Attribut das Schlüsselwort MongoDB enthält, während die andere Abfrage nur Java-Experten abruft.

Die nächste Herausforderung beim Abfragen anhand von Kriterien besteht darin, mit einer ODER- oder UND-Bedingung abzufragen.

Komplexe Abfragen in MongoDB

Wie aus den obigen Befehlen hervorgeht, funktioniert MongoDB where-Klauseln unter JSON. Der Prozess des Kombinierens von Bedingungen hängt auch von JSON selbst ab. MongoDB bietet Operatoren wie $ oder, $ und sowie $, um die relevanten Abfrageoperationen nicht auszuführen.

Versuchen wir, die Liste der Dokumente zu erhalten, in denen das Namensattribut Abhishek oder die Fertigkeit Java enthält.

> db.firstCollection.find ({$ oder: [{Name: ‘Abhishek’}, {Fähigkeit: /.* Java. * /}]});
{ "_Ich würde" : Objekt Identifikation("5b043a32c29a7184535e783a"), "Name" :: "Abhishek", "Fertigkeit" :: "MongoDB" }}
{ "_Ich würde" : Objekt Identifikation("5b05b4f0c29a7184535e783b"), "Name" :: "Geekflare", "Fertigkeit" :: "Java, MongoDB, NodeJS" }}

Wie zu sehen ist, werden beide Datensätze abgerufen. Sie könnten versuchen, das Namensattribut als Geekflare zu verwenden und die Änderung zu sehen. Es wird nur das Dokument mit drei Fähigkeiten und dem Namen Geekflare angezeigt.

In ähnlicher Weise ist es möglich, $ und Operator mit einem JSON-Array von Bedingungen zu verwenden, wie oben gezeigt.

Für die nächste Gruppe von Operatoren müssten wir eine weitere Sammlung erstellen und mit den folgenden Befehlen einige Datensätze hinzufügen.

> db.createCollection (‘studentmarks’);
{ "OK" : 1}
> db.studentmarks.insertMany ([{Name: ‘A’, Noten: 20}, {Name: ‘B’, Noten: 25}, {Name: ‘C’, Noten: 22}, {Name: ‘D’, Noten: 30}]);
{
"anerkannt" : wahr,
"insertIds" : [
Objekt Identifikation("5b06e7b5c29a7184535e783c"),
Objekt Identifikation("5b06e7b5c29a7184535e783d"),
Objekt Identifikation("5b06e7b5c29a7184535e783e"),
Objekt Identifikation("5b06e7b5c29a7184535e783f")
]]
}}

Die nächsten Operatoren, die wir verwenden würden, sind Vergleichsoperatoren in der Abfrage. Zum Vergleichen von Werten anhand von Kriterien wie weniger als oder größer als oder Nicht gleichzusetzen mit, Wir verwenden die relevanten Operatoren in dem Wert, den wir übergeben.

Ein Beispiel für das Abrufen einer Liste von Schülern mit Noten über 22 ist unten dargestellt.

db.studentmarks.find ({markiert: {$ gt: 22}});
{ "_Ich würde" : Objekt Identifikation("5b06e7b5c29a7184535e783d"), "Name" :: "B.", "Markierungen" : 25}
{ "_Ich würde" : Objekt Identifikation("5b06e7b5c29a7184535e783f"), "Name" :: "D.", "Markierungen" : 30}

Das $ gt hier zeigt an größer als in den Kriterien. Somit werden Dokumente mit mehr als 22 Markierungen angezeigt. Ebenso können andere Operatoren verwendet werden. Sie sind unten aufgeführt.

Operator
Verwenden
Beispiel
$ GlÜberprüfen Sie, ob der Wert gleich ist{markiert: {$ eq: 20}}
$ ltÜberprüfen Sie, ob der Wert kleiner als ist{markiert: {$ lt: 20}}
$ gteÜberprüfen Sie, ob der Wert größer oder gleich ist{markiert: {$ gte: 22}}
$ lteÜberprüfen Sie, ob der Wert weniger danke oder gleich ist{markiert: {$ lte: 22}}
$ neÜberprüfen Sie, ob der Wert ungleich ist{markiert: {$ ne: 22}}
$ inÜberprüfen Sie, ob der Wert einem der Werte aus dem Array entspricht{markiert: {$ in: [20,22]}}
$ ninÜberprüfen Sie, ob der Wert keinem Wert aus dem Array entspricht{markiert: {$ nin: [22,25]}}

GUI für MongoDB

In der obigen Diskussion haben wir eine Befehlszeile verwendet, um unsere Abfragen in MongoDB auszuführen.

Die Verwendung der Befehlszeile kann bei komplexen Abfragen und einer größeren Datenmenge eine Herausforderung darstellen. Um das Anzeigen der Daten und das Ausführen der Abfragen zu vereinfachen, bietet MongoDB ein hervorragendes GUI-Tool namens MongoDB Compass.

Der MongoDB-Kompass kann einfach von der heruntergeladen werden MongoDB lädt Website herunter. Sobald Sie MongoDB Compass heruntergeladen und installiert haben, starten Sie die Anwendung, und Sie werden von einem Bildschirm begrüßt, der dem unten gezeigten Bildschirm ähnelt.

MongoDBCompass

Wenn Sie den MongoDB-Server in Betrieb haben, klicken Sie auf Mit den Standarddetails verbinden. Sie sollten angemeldet sein und die Liste der verfügbaren Datenbanken anzeigen.

Klicken Sie auf die Tutorial-Datenbank, um die Liste der Sammlungen in der Tutorial-Datenbank anzuzeigen. Wie unten gezeigt, wird die Liste der verfügbaren Sammlungen in der Tutorial-Datenbank angezeigt.

Wenn Sie auf die Sammlung klicken, wird die Liste der Dokumente mit den erforderlichen Steuerelementen zum Filtern der Datensätze mithilfe eines JSON sowie die Möglichkeit zum Anzeigen der Dokumente in einem JSON-Format oder Tabellenformat angezeigt.

Die GUI vereinfacht auch das Hinzufügen eines Dokuments. Alles, was Sie tun müssen, ist auf die Schaltfläche Dokument einfügen in dem unten gezeigten Bildschirm zu klicken. Es öffnet sich ein kleiner Dialog, in dem Sie nach den Dokumentdetails mit einer automatisch generierten Dokument-ID gefragt werden.

MongoDBDocuments

Die grafische Benutzeroberfläche vereinfacht viele Vorgänge, die mithilfe der MongoDB-Befehlszeilenschnittstelle möglicherweise schwierig auszuführen sind.

Fazit

Wir haben die Essenz von NoSQL anhand verschiedener Beispiele erfasst und die Installation verstanden, wie sich Dokumente von einem typischen relationalen Datenbankdatensatz unterscheiden. Sie können dies auch verweisen MongoDB von Grund auf lernen Online Kurs.

Und wenn Sie ein Entwickler sind, dann könnten Sie interessiert sein dieses.

STICHWORTE:

  • Datenbank

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map