TypeScript में डेटाबेस के साथ काम करना: शुरुआती लोगों के लिए PostgreSQL और MongoDB
TypeScript, JavaScript का एक सख्ती से टाइप किया गया एक्सटेंशन है, जो कोड में विश्वसनीयता और पूर्वानुमान जोड़ता है। डेटाबेस (DB) के साथ काम करते समय TypeScript विशेष रूप से उपयोगी है: आप संस्थाओं के लिए प्रकार परिभाषित कर सकते हैं, संकलन चरण पर क्वेरी की शुद्धता की जांच कर सकते हैं और कई runtime-त्रुटियों से बच सकते हैं। इस लेख में, हम देखेंगे कि दो सबसे लोकप्रिय डेटाबेस — रिलेशनल PostgreSQL और डॉक्यूमेंट-ओरिएंटेड MongoDB — से कैसे कनेक्ट किया जाए और डेटा के साथ बुनियादी संचालन कैसे किया जाए। यह सामग्री शुरुआती डेवलपर्स के लिए है जो TypeScript की मूल बातों से परिचित हैं।
पर्यावरण की तैयारी और निर्भरताएँ स्थापित करना
कोड लिखने से पहले, प्रोजेक्ट को सेट करना आवश्यक है। एक नई निर्देशिका बनाएँ और प्रोजेक्ट को आरंभ करें:
mkdir ts-db-examplecd ts-db-examplenpm init -ynpm install typescript @types/node ts-node --save-devnpx tsc --initअब डेटाबेस के साथ काम करने के लिए लाइब्रेरी स्थापित करें। PostgreSQL के लिए हम TypeORM (TypeScript के लिए अच्छे समर्थन वाला लोकप्रिय ORM) का उपयोग करेंगे, और MongoDB के लिए — Mongoose (स्कीमा मॉडलिंग और MongoDB के साथ काम करने के लिए लाइब्रेरी) का उपयोग करेंगे।
npm install typeorm reflect-metadata pgnpm install mongooseNode.js के लिए प्रकार और TypeORM के लिए सेटिंग्स भी स्थापित करें:
npm install @types/node --save-devtsconfig.json फ़ाइल में निम्नलिखित विकल्पों को शामिल करना सुनिश्चित करें:
{ "compilerOptions": { "target": "ES2020", "module": "commonjs", "outDir": "./dist", "rootDir": "./src", "strict": true, "esModuleInterop": true, "experimentalDecorators": true, "emitDecoratorMetadata": true }}अब प्रोजेक्ट संरचना तैयार है। src फ़ोल्डर बनाएँ और उसके अंदर प्रत्येक DB के साथ काम करने के लिए फ़ाइलें बनाएँ।
TypeORM के माध्यम से PostgreSQL के साथ काम करना
कनेक्शन सेट करना
TypeORM आपको डेकोरेटर और संस्थाओं के माध्यम से DB के साथ काम करने की अनुमति देता है। src/postgres.ts फ़ाइल बनाएँ और स्थानीय PostgreSQL डेटाबेस ts_db से कनेक्शन सेट करें:
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, // स्वचालित रूप से तालिकाएँ बनाता है (केवल विकास के लिए) logging: false, entities: ["src/entity/**/*.ts"],});संस्था (Entity) बनाना
संस्था एक वर्ग है जो DB में तालिका पर मैप होता है। src/entity फ़ोल्डर और 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;}CRUD-ऑपरेशन करना
अब 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 — एक नया उपयोगकर्ता बनाना const newUser = userRepository.create({ name: "इवान पेत्रोव", email: "ivan@example.com", age: 25, }); await userRepository.save(newUser); console.log("उपयोगकर्ता बनाया गया:", newUser);
// READ — सभी उपयोगकर्ताओं को पढ़ना const allUsers = await userRepository.find(); console.log("सभी उपयोगकर्ता:", allUsers);
// UPDATE — id=1 वाले उपयोगकर्ता की आयु अपडेट करना const userToUpdate =