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

Arbeit mit Datenbanken in JavaScript (Node.js): PostgreSQL und MongoDB für Anfänger



Bei der Entwicklung von Webanwendungen in JavaScript (Node.js) müssen fast immer Daten gespeichert werden: Benutzer, Bestellungen, Artikel oder Logs. Dafür werden Datenbanken (DB) verwendet. In dieser Anleitung besprechen wir die beiden beliebtesten Systeme: die relationale PostgreSQL und die dokumentenorientierte MongoDB. Sie erfahren, wie Sie sich aus Node.js mit ihnen verbinden und grundlegende CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) durchführen.



Der Artikel richtet sich an Anfänger-Entwickler, die mit den Grundlagen von JavaScript vertraut sind. Alle Codebeispiele können in Ihrem Projekt ausgeführt werden.



1. PostgreSQL: Relationale Datenbank



PostgreSQL ist eine leistungsstarke SQL-Datenbank, in der Daten in Tabellen mit strengen Feldtypen gespeichert werden. Für die Arbeit damit in Node.js verwenden wir das Paket pg.



1.1. Installation und Verbindung



Installieren Sie zuerst das Paket über npm:



npm install pg


Erstellen Sie eine Datei db.js und konfigurieren Sie die Verbindung zur lokalen Datenbank:



const { Pool } = require('pg');

const pool = new Pool({ user: 'postgres', host: 'localhost', database: 'mydb', password: 'password', port: 5432,});

module.exports = pool;


1.2. Tabellenerstellung und CRUD-Operationen



Erstellen wir zunächst eine Tabelle users mit den Feldern id, name und email. Anschließend führen wir alle grundlegenden Operationen durch.



const pool = require('./db');

// Tabelle erstellenasync function createTable() { await pool.query(` CREATE TABLE IF NOT EXISTS users ( id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL ); `); console.log('Tabelle users erstellt');}

// Daten einfügen (CREATE)async function addUser(name, email) { const result = await pool.query( 'INSERT INTO users (name, email) VALUES ($1, $2) RETURNING *', [name, email] ); return result.rows[0];}

// Daten lesen (READ)async function getUsers() { const result = await pool.query('SELECT * FROM users'); return result.rows;}

// Daten aktualisieren (UPDATE)async function updateUser(id, name) { const result = await pool.query( 'UPDATE users SET name = $1 WHERE id = $2 RETURNING *', [name, id] ); return result.rows[0];}

// Daten löschen (DELETE)async function deleteUser(id) { await pool.query('DELETE FROM users WHERE id = $1', [id]); console.log('Benutzer gelöscht');}

// Beispiel zur Verwendung(async () => { await createTable(); const newUser = await addUser('Ivan', 'ivan@example.com'); console.log('Hinzugefügt:', newUser);

const users = await getUsers(); console.log('Alle Benutzer:', users);

await updateUser(1, 'Petr'); await deleteUser(2);})();


Wichtig: Verwenden Sie immer parametrisierte Abfragen (mit $1, $2), um SQL-Injection zu vermeiden.



2. MongoDB: NoSQL-Datenbank



MongoDB speichert Daten im Format JSON-ähnlicher Dokumente (BSON). Für Node.js wird der offizielle Treiber mongodb oder die beliebte Bibliothek mongoose verwendet. In diesem Beispiel verwenden wir den Treiber.



2.1. Installation und Verbindung



npm install mongodb


Verbindung zur lokalen MongoDB (Standardport 27017):



const { MongoClient } = require('mongodb');

const uri = 'mongodb://localhost:27017';const client = new MongoClient(uri);

async function connect() { await client.connect(); console.log('Mit MongoDB verbunden'); return client.db('mydb'); // Datenbank mydb}

module.exports = { connect, client };


2.2. CRUD-Operationen mit einer Collection



In MongoDB werden Tabellen als Collections bezeichnet und Zeilen als

Blogs

Buchempfehlungen