Entwicklung einer Web-App - Teil 3 : Datenbank
- Coding
- Datenbank
- MongoDB
2.7.2023
Für meine Applikation werde ich verschiedene Arten von Daten speichern müssen, weshalb ich eine Datenbank brauche. Für diese Applikation werde ich MongoDB verwenden. MongoDB ist eine dokumentenbasierte NoSQL-Datenbank, die es ermöglicht, unstrukturierte Daten in einem JSON-ähnlichen Format zu speichern (das eigentliche Format ist BSON). Eine kostenlose MongoDB Community Edition kann man auf ihrer Website hier herunterladen.
Ich habe bereits MongoDB und die MongoDB-Shell "mongosh" auf meinem Rechner installiert. "Mongosh" ist ein Kommandozeilen-Tool, mit dem du eine Verbindung zu deinem MongoDB-Server herstellen und mit deinen Daten arbeiten kannst, z. B. CRUD-Operationen (create, read, update, delete) durchführen, Abfragen schreiben und administrative Aufgaben ausführen.
Um die Objektzuordnung zwischen Node.js und meiner MongoDB-Datenbank zu verwalten, werde ich eine ODM-Bibliothek (Object Data Modelling) namens Mongoose verwenden. Mongoose bildet Dokumente, die aus einer Datenbank kommen, in brauchbare Javascript-Objekte ab und bietet Möglichkeiten, deine Anwendungsdaten zu modellieren und ein Schema zu definieren. Darauf werde ich evtl. in einem späteren Beitrag näher eingehen.
Mongoose wird als NPM-Paket geliefert, also werde ich einfach die Befehlszeile npm install mongoose verwenden,
um es in meinem Projekt zu installieren. Danach muss ich es in meiner app.js-Datei einbinden:
Jetzt muss ich Mongoose mit meiner MongoDB-Datenbank verbinden. Im Moment verwende ich eine Datenbank, die sich auf meinem lokalen Computer befindet. Später, wenn ich mit meiner Anwendung live gehe, werde ich sie mit meiner MongoDB Atlas Cloud-Datenbank verbinden. Um Mongoose mit meiner lokalen MongoDB-Datenbank zu verbinden, verwende ich diesen Code (ich nutze den Standard-MongoDB-Port 127.0.0.1:27017 und den Namen meiner Datenbank, der "taskmanagerApp" sein wird):
Ich habe ein console.log hinzugefügt, um zu überprüfen, ob die Verbindung zur Datenbank funktioniert. Wenn ich
den Server jetzt starte, erhalte ich dieses Ergebnis:
Wir erhalten den Text "Connected to MongoDB database" in der Konsole, was bedeutet, dass die Verbindung funktioniert! Sehr gut, jetzt kann ich damit beginnen, Sammlungen und Modelle für die verschiedenen Daten zu erstellen, die ich speichern muss. Das ist jedoch ein Thema für einen eigenen Beitrag.
