Arbeiten mit Datenbanken in TypeScript: 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

Arbeiten mit Datenbanken in TypeScript: PostgreSQL und MongoDB für Einsteiger



TypeScript ist eine streng typisierte Erweiterung von JavaScript, die Ihrem Code Zuverlässigkeit und Vorhersagbarkeit verleiht. Bei der Arbeit mit Datenbanken ist TypeScript besonders nützlich: Sie können Typen für Entitäten definieren, die Korrektheit von Abfragen zur Kompilierzeit überprüfen und viele Laufzeitfehler vermeiden. In diesem Artikel sehen wir uns an, wie man eine Verbindung zu zwei der beliebtesten Datenbanken herstellt — dem relationalen PostgreSQL und dem dokumentenorientierten MongoDB — und grundlegende Datenoperationen durchführt. Das Material richtet sich an Anfänger, die mit den Grundlagen von TypeScript vertraut sind.



Umgebungseinrichtung und Abhängigkeitsinstallation



Bevor Sie Code schreiben, müssen Sie das Projekt einrichten. Erstellen Sie ein neues Verzeichnis und initialisieren Sie das Projekt:



mkdir ts-db-examplecd ts-db-examplenpm init -ynpm install typescript @types/node ts-node --save-devnpx tsc --init


Jetzt installieren wir die Bibliotheken für die Arbeit mit Datenbanken. Für PostgreSQL verwenden wir TypeORM (ein beliebtes ORM mit guter TypeScript-Unterstützung) und für MongoDB — Mongoose (eine Bibliothek für Schema-Modellierung und Arbeit mit MongoDB).



npm install typeorm reflect-metadata pgnpm install mongoose


Installieren Sie auch die Typen für Node.js und TypeORM-Einstellungen:



npm install @types/node --save-dev


In der Datei tsconfig.json müssen Sie die folgenden Optionen aktivieren:



{  "compilerOptions": {    "target": "ES2020",    "module": "commonjs",    "outDir": "./dist",    "rootDir": "./src",    "strict": true,    "esModuleInterop": true,    "experimentalDecorators": true,    "emitDecoratorMetadata": true  }}


Jetzt ist die Projektstruktur bereit. Erstellen Sie einen src-Ordner und darin Dateien für die Arbeit mit jeder Datenbank.



Arbeiten mit PostgreSQL über TypeORM



Verbindungseinrichtung



TypeORM ermöglicht es Ihnen, mit Datenbanken mithilfe von Dekoratoren und Entitäten zu arbeiten. Erstellen Sie eine Datei src/postgres.ts und richten Sie eine Verbindung zur lokalen PostgreSQL-Datenbank ts_db ein:



import "reflect-metadata";import { DataSource } from "typeorm";

export const AppDataSource = new DataSource({ type: "postgres", host: "localhost", port: 5432, username: "postgres", password: "password", database: "ts_db", synchronize: true, // erstellt automatisch Tabellen (nur für Entwicklung) logging: false, entities: ["src/entity/**/*.ts"],});


Erstellen einer Entität



Eine Entität ist eine Klasse, die auf eine Datenbanktabelle abbildet. Erstellen Sie einen Ordner src/entity und eine Datei User.ts:



import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";

@Entity()export class User { @PrimaryGeneratedColumn() id: number;

@Column({ length: 100 }) name: string;

@Column({ unique: true }) email: string;

@Column({ default: 18 }) age: number;}


Durchführen von CRUD-Operationen



Schreiben wir nun Funktionen zum Erstellen, Lesen, Aktualisieren und Löschen von Benutzern in der Datei src/postgres-crud.ts:



import { AppDataSource } from "./postgres";import { User } from "./entity/User";

async function main() { await AppDataSource.initialize(); const userRepository = AppDataSource.getRepository(User);

// CREATE — Erstellen eines neuen Benutzers const newUser = userRepository.create({ name: "Ivan Petrov", email: "ivan@example.com", age: 25, }); await userRepository.save(newUser); console.log("Benutzer erstellt:", newUser);

// READ — Lesen aller Benutzer const allUsers = await userRepository.find(); console.log("Alle Benutzer:", allUsers);

// UPDATE — Aktualisieren des Alters des Benutzers mit id=1 const userToUpdate =

Blogs

Buchempfehlungen