Moderne Webanwendungen mit Node.js und Express.js

Mongo-Datenbank installieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mongo ist die gängigste Datenbank im Node.JS-Bereich, lernen Sie hier diese Datenbank kennen und schnell auf dem eigenen Computer zu installieren.

Transkript

Die Mongo-Datenbank ist einer der berühmtesten Vertreter der NoSQL Bewegung. Da sie weitestgehend auf Prinzipien von Javascript basiert, eignet sie sich idealerweise als Datenbank für Webprojekte. In den nächsten Minuten installiere ich mit Ihnen gemeinsam die Mongo-Datenbank auf ihrem Windows-Rechner, als auch das Tool Robomongo, um die Datenbank zu verwalten, und bespreche den Sicherheitsaspekt dahinter. Die kostenlose Open-Source-Datenbank mongoDB können Sie auf der Website unter mongodb.org unter dem Reiter Downloads, für Ihre jeweilige Plattform herunterladen. Für Windows lade ich nun das Legacy-Paket, da ich dafür keine Installationsdateien brauche. Zusätzlich lade ich von der Seite robomongo.org, für meine entsprechende Plattform das Administrationstool Robomongo herunter. Auch in diesem Fall nicht als Installer, sondern als Applikationsarchiv. Da ich die Datenbank aktuell nur zu Entwicklungszwecken auf meinem eigenen Rechner verwenden möchte, habe ich diese innerhalb des Ordners "Dokumente" extrahiert. Im Ordner "bin" befinden sich die entsprechenden "exe" Dateien und den Ordner "db" habe ich selbst angelegt. Um die Datenbank zu starten nutze ich SHIFT-Rechtsklick, Eingabeaufforderung öffnen, und gebe nun ein: Mongod.exe Der Start ist in dem Moment nicht erfolgreich, da ich den "dbpath" noch angeben muss. Ich kehre also nun zurück, markiere den Pfad, und kopiere ihn, und rufe nun die mongod.exe mit --dbpath ist gleich, einfügen, und nun startet die Datenbank. Als nächstes öffne ich nun Robomongo, um mich mit der Datenbank zu verbinden, Ich klicke auf den Computer und lege eine neue Verbindung an. Ich nenne sie "Meinen Server", stelle nichts weiter ein, der Standardport stimmt, speichere und verbinde mich nun. Nun befinde ich mich innerhalb meiner Mongo-Datenbank. Nicht erst zuletzt gab es einige Probleme mit offenen Mongo-Datenbanken, die nicht entsprechend gesichert sind. Um diesem Problem aus dem Weg zu gehen, gehe ich nun in den Systemordner und dort in die Datenbank-Admin. ich füge hier einen Nutzer hinzu, nenne ihn "admin", (passwort) "admin", gebe ihm entsprechend alle Rechte, da er der Datenbankadministrator ist, und speichere. Um nun sicherzustellen, dass nicht fremde Nutzer auf die Datenbank zugreifen können, muss ich die Datenbank mit einem neuen Parameter noch einmal durchstarten. Ich stoppe sie also mit STEUERUNG-C, und füge den Parameter "--auth" hinzu, für "authentication". Wenn ich mich nur noch einmal mit der Datenbank verbinden möchte, so erhalte ich eine Fehlermeldung, dass ich mich nicht mehr anmelden kann. Ich editiere entsprechend den Server, füge Authentifizierung hinzu, den Nutzernamen "admin" (passwort) "admin", speichere, und verbinde mich wieder. Nun kann ich ensprechend wieder auf die Datenbank zugreifen. Nachdem die Datenbank nun vor Zugriffen anderer geschützt ist, möchte ich Daten innerhalb dieser Datenbank erstellen. In Mongo ist ein Datenbankserver, wie dieser Mongod hier, ein Server, der mehrere Datenbanken beinhalten kann. Ich kann nun zum Beispiel eine neue Datenbank anlegen mit dem Namen "Test". Jede Datenbank als solche kann sogenannte Collections beinhalten. Das ist eine Sammlung von JSON-Objekten, Javascript-Funktionen und berechtigten Nutzern die auf diese Datenbank zugreifen dürfen. Das Anlegen eines Nutzers funktioniert hier analog zur Hauptdatenbank, und ich könnte einen Nutzer entsprechend nur zum Lesen und Schreiben berechtigen, und ihn keine Änderungen an der Konfiguration vornehmen lassen. Um jetzt Daten abzuspeichern, muss ich eine Collection anlegen, was innerhalb der SQL-Welt, einer Tabelle entsprechen würde. Ich nenne diese nun "posts", und aktuell befindet sich innerhalb von "posts" nichts. Alle Befehle, die Robomongo hier benutzt, können auch mit dem Kommandozeilentool der Mongo-Datenbank verwendet werden. Ich lege nun ein neues Dokument an. Ein Dokument bezeichnet ein sogenanntes JSON-Objekt, das bedeutet, analog zu JSON kann ich nun verschiedene Attribute auf dem Objekt definieren. Ich kann es validieren, sobald das JSON valide ist, kann ich es speichern, und durch einen weiteren Aufruf von "View Documents", sehe ich nun, dass sich in meiner Collection "posts" ein Objekt befindet, mit der Bezeichnung "Test" als "title" und der ID "1". Sollte ich keine ID angeben, so wird die Mongo-Datenbank automatisch für mich einen "global unique identifier" generieren. Im Übrigen befindet sich auf der Spalte "ID" ein Index, um Suchen nach bestimmten IDs zu beschleunigen. Wenn ich nun mitunter weiß, dass ich auch andere Spalten aufsuchen werde, empfiehlt es sich, Indizes für andere Spalten zu erstellen. Dafür gibt es umfangreiche Möglichkeiten, die unter anderem auch Text-Parsing unterstützen. Sollte ich bestimmte Operationen oft wiederholen, empfiehlt es sich, Funktionen auf der Datenbank selbst anzulegen, die sich ähnlich wie Javascript-Funktionen entwickeln lassen. Dafür benötige ich lediglich die jeweilige Mongo-Syntax, für die entsprechend verfügbaren Objekte. Man kann so die Vorteile nutzen, dass die jeweilige Funktion innerhalb des Kontextes der Datenbank läuft. Umfangreiche Dokumentation dazu, was mit MongoDB im Einzelnen möglich ist, findet sich auf der Mongo-Datenbank Seite docs.mongodb.org/manual. Sie haben nun also die Mongo-Datenbank kennengelernt, die verfügbar für alle gängigen Plattformen ist. Als eine moderne NoSQL beziehungsweise JSON-Datenbank bietet sie diverse Vorteile gegenüber herkömmlichen SQL-Konventionen. Ein Mongo-Host, also ein Server, kann mehrere Datenbanken beinhalten, die wiederum mehrere Collections beinhalten. Die Collection lässt sich mit der Tabelle in SQL vergleichen. Um eine Mongo Datenbank starten zu können ist es notwendig den "dbpath" anzugeben, um Mongo mitzuteilen, wo die Daten gespeichert werden. Mit dem Tool Robomongo ist es entsprechend einfach gewesen, die Datenbank auch zu administrieren. Aus Sicherheitsgründen empfiehlt es sich initial sofort einen Datenbank-Admin zu erstellen, mit dem man sich zukünftig einwählt, um alle Änderungen vorzunehmen. Danach kann die Datenbank mit dem Parameter "auth" gestartet werden, um sicherzustellen, dass nicht fremde Leute sich dort einloggen können.

Moderne Webanwendungen mit Node.js und Express.js

Entwickeln Sie auf der Open-Source-Plattform Node.js kompakte und performante Webapplikationen und lernen Sie weiterführende Konzepte professioneller Webentwicklung kennen.

2 Std. 20 min (24 Videos)
Derzeit sind keine Feedbacks vorhanden...
Exklusiv für Abo-Kunden
Erscheinungsdatum:23.03.2015

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!