TypeScript में डेटाबेस के साथ काम करना: PostgreSQL और MongoDB व्यवहार में

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: TypeScript और डेटाबेस एक आदर्श जोड़ी क्यों हैं

\n\n

आधुनिक वेब डेवलपमेंट डेटाबेस (DB) के साथ काम किए बिना अधूरा है। TypeScript, JavaScript पर एक सख्ती से टाइप की गई परत के रूप में, डेवलपर्स को विश्वसनीय और स्केलेबल एप्लिकेशन बनाने के लिए एक शक्तिशाली उपकरण प्रदान करता है। इस लेख में, हम व्यवहार में देखेंगे कि TypeScript इकोसिस्टम में दो सबसे लोकप्रिय डेटाबेस - रिलेशनल PostgreSQL और डॉक्यूमेंट-ओरिएंटेड MongoDB को कैसे कनेक्ट और उपयोग करें।

\n\n

आप सीखेंगे कि ORM/ODM कैसे सेट करें, टाइप किए गए मॉडल कैसे लिखें और बुनियादी CRUD ऑपरेशन कैसे करें। यह सामग्री उन डेवलपर्स के लिए है जो पहले से TypeScript और Node.js की मूल बातों से परिचित हैं।

\n\n

1. प्रोजेक्ट सेटअप और डिपेंडेंसी इंस्टॉलेशन

\n\n

कोड लिखने से पहले, एक नया प्रोजेक्ट बनाएं और आवश्यक पैकेज इंस्टॉल करें। PostgreSQL के साथ काम करने के लिए हम TypeORM का उपयोग करेंगे - TypeScript के लिए सबसे लोकप्रिय ORM में से एक। MongoDB के लिए - Mongoose।

\n\n

प्रोजेक्ट इनिशियलाइज़ेशन

\n\n
mkdir typescript-db-practice\ncd typescript-db-practice\nnpm init -y\nnpm install typescript ts-node @types/node --save-dev\nnpx tsc --init
\n\n

PostgreSQL के लिए डिपेंडेंसी इंस्टॉलेशन

\n\n
npm install typeorm reflect-metadata pg\nnpm install @types/node --save-dev
\n\n

MongoDB के लिए डिपेंडेंसी इंस्टॉलेशन

\n\n
npm install mongoose\nnpm install @types/mongoose --save-dev
\n\n

इंस्टॉलेशन के बाद, tsconfig.json फ़ाइल में "experimentalDecorators": true और "emitDecoratorMetadata": true विकल्पों को सक्षम करना सुनिश्चित करें - वे TypeORM के काम करने के लिए आवश्यक हैं।

\n\n

2. TypeORM के माध्यम से PostgreSQL के साथ काम करना

\n\n

TypeORM Active Record और Data Mapper दोनों पैटर्न का समर्थन करता है। हम Data Mapper पर ध्यान केंद्रित करेंगे, क्योंकि यह अधिक लचीलापन प्रदान करता है और स्वच्छ आर्किटेक्चर के साथ बेहतर रूप से मेल खाता है।

\n\n

एंटिटी (Entity) बनाना

\n\n

एक उपयोगकर्ता मॉडल बनाएं। प्रत्येक एंटिटी एक क्लास है जिसे विशेष एनोटेशन से सजाया गया है।

\n\n
// src/entities/User.ts\nimport { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn } from 'typeorm';\n\n@Entity()\nexport class User {\n    @PrimaryGeneratedColumn()\n    id: number;\n\n    @Column({ length: 100 })\n    name: string;\n\n    @Column({ unique: true })\n    email: string;\n\n    @Column({ select: false })\n    password: string;\n\n    @CreateDateColumn()\n    createdAt: Date;\n}
\n\n

कनेक्शन और रिपॉजिटरी सेटअप

\n\n

डेटाबेस इनिशियलाइज़ेशन और उपयोगकर्ताओं के साथ काम करने के लिए रिपॉजिटरी के लिए एक फ़ाइल बनाएं।

\n\n
// src/data-source.ts\nimport "reflect-metadata";\nimport { DataSource } from "typeorm";\nimport { User } from "./entities/User";\n\nexport const AppDataSource = new DataSource({\n    type: "postgres",\n    host: "localhost",\n    port: 5432,\n    username: "postgres",\n    password: "password",\n    database: "test_db",\n    synchronize: true, // ऑटो-टेबल निर्माण (केवल डेवलपमेंट के लिए!)\n    logging: false,\n    entities: [User],\n    migrations: [],\n    subscribers: [],\n});
\n\n
// src/repositories/userRepository.ts\nimport { AppDataSource } from "../data-source";\nimport { User } from "../entities/User";\n\nexport const userRepository = AppDataSource.getRepository(User);
\n\n

व्यवहार में CRUD ऑपरेशन

\n\n
// src/index.ts\nimport { AppDataSource } from "./data-source";\nimport { userRepository } from "./repositories/userRepository";\n\nasync function main() {\n    await AppDataSource.initialize();\n    console.log("PostgreSQL connected!");\n\n    // CREATE\n    const newUser = userRepository.create({\n        name: "इवान पेट्रोव",\n        email: "ivan@example.com",\n        password: "hashed_password"\n    });\n    await userRepository.save(newUser);\n    console.log("User created:", newUser);\n\n    // READ\n    const us                

ब्लॉग

पुस्तक अनुशंसाएँ