Arbeit mit Datenbanken in JavaScript: PostgreSQL und MongoDB für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in die Arbeit mit Datenbanken in JavaScript (Node.js)

\n

Moderne Webentwicklung kommt selten ohne Interaktion mit Datenbanken aus. Ob es um die Speicherung von Benutzern, Blogbeiträgen oder Analysedaten geht – die Fähigkeit, mit Datenbanken (DBs) zu arbeiten, ist eine unverzichtbare Fähigkeit für jeden Entwickler. In diesem Artikel betrachten wir zwei der beliebtesten Datenbanktypen: die relationale PostgreSQL und die dokumentenorientierte MongoDB. Wir schreiben einfache Beispiele in JavaScript (Node.js), die Ihnen den Einstieg in beide Systeme erleichtern.

\n\n

1. Vorbereitung der Umgebung und Installation der Abhängigkeiten

\n

Bevor wir Code schreiben, müssen wir die Treiber für die Interaktion von Node.js mit den ausgewählten Datenbanken installieren. Erstellen Sie dazu ein neues Projekt und installieren Sie die Pakete über npm.

\n\n

Installation der Treiber

\n
    \n
  • pg – ein beliebter Client für PostgreSQL.
  • \n
  • mongoose – ein ODM (Object Document Mapper) für MongoDB, der die Arbeit mit Sammlungen vereinfacht.
  • \n
\n
mkdir db-example && cd db-example\nnpm init -y\nnpm install pg mongoose
\n\n

Ihre Umgebung ist nun bereit für Experimente.

\n\n

2. Arbeiten mit PostgreSQL von Node.js aus

\n

PostgreSQL ist eine leistungsstarke relationale Datenbank, die SQL für Abfragen verwendet. Wir stellen eine Verbindung zu einem lokalen Server her, erstellen eine Tabelle und führen grundlegende CRUD-Operationen (Create, Read, Update, Delete) durch.

\n\n

Verbindung zur Datenbank herstellen

\n

Erstellen Sie eine Datei postgres.js und fügen Sie den folgenden Code für die Verbindung hinzu:

\n
const { Pool } = require('pg');\n\nconst pool = new Pool({\n    user: 'your_username',\n    host: 'localhost',\n    database: 'testdb',\n    password: 'your_password',\n    port: 5432,\n});\n\nasync function connect() {\n    try {\n        const client = await pool.connect();\n        console.log('Mit PostgreSQL verbunden');\n        client.release();\n    } catch (err) {\n        console.error('Verbindungsfehler:', err);\n    }\n}\n\nconnect();
\n\n

Tabelle erstellen und Daten einfügen

\n

Fügen wir nun eine Funktion zum Erstellen der Tabelle users und zum Einfügen von Datensätzen hinzu:

\n
async function createTable() {\n    const query = `\n        CREATE TABLE IF NOT EXISTS users (\n            id SERIAL PRIMARY KEY,\n            name VARCHAR(100) NOT NULL,\n            email VARCHAR(100) UNIQUE NOT NULL\n        );\n    `;\n    await pool.query(query);\n    console.log('Tabelle users erstellt');\n}\n\nasync function insertUser(name, email) {\n    const query = 'INSERT INTO users (name, email) VALUES ($1, $2) RETURNING *';\n    const values = [name, email];\n    const res = await pool.query(query, values);\n    console.log('Benutzer hinzugefügt:', res.rows[0]);\n}\n\n// Beispielverwendung\ncreateTable().then(() => insertUser('Ivan', 'ivan@example.com'));
\n\n

Daten lesen und aktualisieren

\n

Rufen wir alle Benutzer ab und aktualisieren die E-Mail:

\n
async function getUsers() {\n    const res = await pool.query('SELECT * FROM users');\n    console.log('Alle Benutzer:', res.rows);\n}\n\nasync function updateUserEmail(id, newEmail) {\n    const query = 'UPDATE users SET email = $1 WHERE id = $2 RETURNING *';\n    const res = await pool.query(query, [newEmail, id]);\n    console.log('Benutzer aktualisiert:', res.rows[0]);\n}\n\ngetUsers().then(() => updateUserEmail(1, 'ivan_new@example.com'));
\n\n

PostgreSQL eignet sich hervorragend für Projekte, bei denen Datenintegrität und komplexe Beziehungen zwischen Tabellen wichtig sind.

\n\n

3. Arbeiten mit MongoDB von Node.js aus

\n

MongoDB ist eine NoSQL-Datenbank, die Daten in einem JSON-ähnlichen Format (BSON) speichert. Sie ist flexibel und erfordert kein striktes Schema. Für die Arbeit verwenden wir Mongoose.

\n\n

Verbindung zu MongoDB herstellen

\n

Erstellen Sie eine Datei mongo.js:

\n
const mongoose = require('mongoose');\n\nconst connectDB = async                

Blogs

Buchempfehlungen