Node.js - MongoDB-Datenbank erstellen

Hallo dort, angehende Programmierer! Heute begeben wir uns auf eine aufregende Reise in die Welt von Node.js und MongoDB. Als dein freundlicher Nachbarschaftsinformatiklehrer bin ich hier, um dich durch den Prozess der Erstellung einer Datenbank mit diesen leistungsstarken Werkzeugen zu führen. Keine Sorge, wenn du neu im Programmieren bist – wir beginnen mit den Grundlagen und arbeiten uns nach oben. Also, hole dir einen Becher Kaffee (oder dein Lieblingsgetränk) und tauchen wir ein!

Node.js - MongoDB Create Database

Was ist MongoDB?

Bevor wir mit der Erstellung von Datenbanken beginnen, lassen wir uns einen Moment Zeit, um zu verstehen, was MongoDB ist. Stell dir vor, du hast einen riesigen digitalen Aktenkasten, in dem du alle möglichen Informationen speichern kannst. Das ist im Grunde genommen, was MongoDB ist – eine Datenbank, die Daten in einem flexiblen, JSON-ähnlichen Format namens BSON (Binary JSON) speichert. Es ist wie ein superorganisierter Assistent, der schnell jede Information finden und abrufen kann, die du benötigst.

Verbindungsstrings: Dein Tor zu MongoDB

Nun, da wir wissen, was MongoDB ist, lassen wir uns über die Verbindung sprechen. Stell dir einen Verbindungsstring als geheimen Handshake zwischen deiner Node.js-Anwendung und MongoDB vor. Er enthält alle Informationen, die benötigt werden, um eine Verbindung herzustellen, wie die Adresse des MongoDB-Servers, die Portnummer und jegliche Authentifizierungsdaten.

Hier ist, wie ein typischer MongoDB-Verbindungsstring aussieht:

mongodb://username:password@hostname:port/database

Lassen wir das auseinanderbrechen:

  • mongodb://: Das ist das Protokoll, das deiner Anwendung mitteilt, dass sie sich mit einer MongoDB-Datenbank verbindet.
  • username:password: Deine Anmeldeinformationen (falls erforderlich).
  • hostname: Die Adresse des MongoDB-Servers (z.B. localhost für deinen eigenen Rechner).
  • port: Die Portnummer, auf der MongoDB lauscht (Standard ist 27017).
  • database: Der Name der Datenbank, mit der du dich verbinden möchtest.

Beispiel: Liste der Datenbanken

Nun, lassen wir uns mit ein bisschen Code beschäftigen! Wir beginnen damit, uns mit MongoDB zu verbinden und alle Datenbanken aufzulisten. Dies ist eine großartige Möglichkeit, zu überprüfen, ob unsere Verbindung funktioniert und zu sehen, welche Datenbanken bereits existieren.

const MongoClient = require('mongodb').MongoClient;

// Verbindungs-URL
const url = 'mongodb://localhost:27017';

// Name der Datenbank
const dbName = 'myproject';

// Erstellen eines neuen MongoDB-Clients
const client = new MongoClient(url, { useNewUrlParser: true, useUnifiedTopology: true });

// Verbindung zum Server herstellen
client.connect(function(err) {
if (err) {
console.error('Verbindung zu MongoDB fehlgeschlagen:', err);
return;
}

console.log("Erfolgreich mit dem Server verbunden");

// Die Admin-Datenbank abrufen
const adminDb = client.db(dbName).admin();

// Alle verfügbaren Datenbanken auflisten
adminDb.listDatabases(function(err, dbs) {
if (err) {
console.error('Datenbanken auflisten fehlgeschlagen:', err);
return;
}

console.log("Datenbanken:");
dbs.databases.forEach(function(db) {
console.log(" - " + db.name);
});

client.close();
});
});

Lassen wir diesen Code auseinanderbrechen:

  1. Wir beginnen damit, den MongoDB-Treiber für Node.js zu erfordern.
  2. Wir+rücken unsere Verbindungs-URL und den Namen der Datenbank fest.
  3. Wir erstellen einen neuen MongoDB-Client mit einigen Optionen für bessere Leistung.
  4. Wir verwenden die connect-Methode, um eine Verbindung zu MongoDB herzustellen.
  5. Wenn die Verbindung erfolgreich ist, holen wir uns die Admin-Datenbank.
  6. Wir verwenden die listDatabases-Methode, um eine Liste aller Datenbanken abzurufen.
  7. Wir geben die Namen aller Datenbanken aus.
  8. Schließlich schließen wir die Verbindung.

Wenn du diesen Code ausführst, siehst du eine Liste aller Datenbanken in deiner MongoDB-Instanz. Es ist, als ob du deinen digitalen Aktenkasten fragst: "Hey, welche Ordner hast du da?"

Eine neue Datenbank erstellen

Nun kommen wir zum spannenden Teil – die Erstellung unserer eigenen Datenbank! In MongoDB werden Datenbanken und Sammlungen automatisch erstellt, wenn du zum ersten Mal Daten in sie speicherst. Es ist wie Magie – du musst sie nicht vorher explizit erstellen.

Lassen wir eine neue Datenbank namens "myNewDB" erstellen und eine Sammlung namens "students" hinzufügen:

const MongoClient = require('mongodb').MongoClient;

// Verbindungs-URL
const url = 'mongodb://localhost:27017';

// Name der Datenbank
const dbName = 'myNewDB';

// Erstellen eines neuen MongoDB-Clients
const client = new MongoClient(url, { useNewUrlParser: true, useUnifiedTopology: true });

// Verbindung zum Server herstellen
client.connect(function(err) {
if (err) {
console.error('Verbindung zu MongoDB fehlgeschlagen:', err);
return;
}

console.log("Erfolgreich mit dem Server verbunden");

// Die Datenbank abrufen
const db = client.db(dbName);

// Eine neue Sammlung erstellen
db.createCollection("students", function(err, res) {
if (err) {
console.error('Sammlung erstellen fehlgeschlagen:', err);
return;
}

console.log("Sammlung erstellt!");

// Ein Dokument einfügen
db.collection('students').insertOne({
name: "John Doe",
age: 20,
grade: "A"
}, function(err, res) {
if (err) {
console.error('Dokument einfügen fehlgeschlagen:', err);
return;
}

console.log("Dokument eingefügt");

// Die Verbindung schließen
client.close();
});
});
});

Lassen wir das auseinanderbrechen, was hier passiert:

  1. Wir verbinden uns mit MongoDB wie zuvor.
  2. Wir verwenden client.db(dbName), um unsere neue Datenbank zu erhalten. Wenn sie nicht existiert, erstellt MongoDB sie für uns.
  3. Wir erstellen eine neue Sammlung namens "students" mit db.createCollection().
  4. Wir fügen ein Dokument in unsere neue Sammlung ein, indem wir insertOne() verwenden.
  5. Schließlich schließen wir die Verbindung.

Wenn du diesen Code ausführst, wird MongoDB die "myNewDB"-Datenbank und die "students"-Sammlung erstellen und ein Dokument mit John Does Informationen einfügen. Es ist, als ob du einen neuen Aktenkasten erstellst, einen Ordner namens "students" hinzufügst und Johns Datei darin ablegst.

Schlussfolgerung

Glückwunsch! Du hast gerade gelernt, wie man sich mit MongoDB verbindet, bestehende Datenbanken auflistet und eine neue Datenbank mit einer Sammlung erstellt. Du bist auf dem besten Weg, ein Datenbank-Zauberer zu werden!

Denke daran, Übung macht den Meister. Versuche, verschiedene Datenbanken, Sammlungen zu erstellen und verschiedene Arten von Dokumenten einzufügen. Experimentiere mit Abfragen der Daten, die du eingefügt hast. Je mehr du mit MongoDB herumspielst, desto wohler wirst du dich fühlen.

Hier ist eine Tabelle, die die Hauptmethoden zusammenfasst, die wir verwendet haben:

Methode Beschreibung
MongoClient.connect() Stellt eine Verbindung zu MongoDB her
client.db() Gibt einen Verweis auf eine Datenbank zurück
adminDb.listDatabases() Listet alle verfügbaren Datenbanken auf
db.createCollection() Erstellt eine neue Sammlung
collection.insertOne() Fügt ein Dokument in eine Sammlung ein

Frohes Coden und möge deine Datenbanken immer organisiert und deine Abfragen blitzschnell sein!

Credits: Image by storyset