TypeScript में डेटाबेस के साथ कार्य: शुरुआती लोगों के लिए PostgreSQL और MongoDB
\n\nआधुनिक वेब डेवलपमेंट शायद ही कभी डेटाबेस के बिना होता है। TypeScript, JavaScript पर एक सख्ती से टाइप की गई परत के रूप में, डेटा के साथ सुरक्षित और पूर्वानुमानित कार्य के लिए उत्कृष्ट अवसर प्रदान करता है। इस लेख में, हम देखेंगे कि TypeScript प्रोजेक्ट्स में दो लोकप्रिय डेटाबेस - रिलेशनल PostgreSQL और डॉक्यूमेंट-ओरिएंटेड MongoDB - को कैसे कनेक्ट और उपयोग करें। यह सामग्री उन शुरुआती डेवलपर्स के लिए है जो TypeScript और Node.js की मूल बातें जानते हैं।
\n\n1. वातावरण तैयार करना और निर्भरताएँ स्थापित करना
\n\nशुरू करने से पहले, सुनिश्चित करें कि आपके पास Node.js और npm स्थापित हैं। TypeScript के साथ काम करने के लिए, कंपाइलर और Node.js के लिए टाइप्स स्थापित करें:
\n\nnpm install -g typescript\nnpm init -y\nnpm install typescript @types/node --save-dev\nnpx tsc --init\n\nडेटाबेस के साथ काम करने के लिए, हम लोकप्रिय लाइब्रेरीज़ का उपयोग करेंगे:
\n- \n
- TypeORM — PostgreSQL (और अन्य SQL डेटाबेस) के लिए ORM \n
- Mongoose — MongoDB के लिए ODM \n
इन्हें अपने प्रोजेक्ट में स्थापित करें:
\n\nnpm install typeorm reflect-metadata pg\nnpm install mongoose\n\ntsconfig.json फ़ाइल में "experimentalDecorators": true और "emitDecoratorMetadata": true जोड़ना न भूलें।
2. TypeORM के माध्यम से PostgreSQL के साथ कार्य
\n\nPostgreSQL एक शक्तिशाली रिलेशनल DBMS है। TypeORM आपको एंटिटीज़ और रिपॉजिटरी के माध्यम से इसके साथ काम करने की अनुमति देता है, जो कोड को साफ और टाइप किया हुआ बनाता है।
\n\n2.1. कनेक्शन और एंटिटी बनाना
\n\nकनेक्शन सेटअप करने के लिए data-source.ts फ़ाइल बनाएँ:
import { DataSource } from "typeorm";\n\nexport const AppDataSource = new DataSource({\n type: "postgres",\n host: "localhost",\n port: 5432,\n username: "your_user",\n password: "your_password",\n database: "your_db",\n synchronize: true,\n logging: false,\n entities: ["src/entity/**/*.ts"],\n});\n\nअब src/entity/User.ts फ़ाइल में User एंटिटी बनाएँ:
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";\n\n@Entity()\nexport class User {\n @PrimaryGeneratedColumn()\n id: number;\n\n @Column()\n name: string;\n\n @Column({ unique: true })\n email: string;\n\n @Column()\n age: number;\n}\n\n2.2. TypeORM के साथ CRUD-संचालन
\n\nउपयोगकर्ताओं को बनाने और प्राप्त करने का उदाहरण:
\n\nimport { AppDataSource } from "./data-source";\nimport { User } from "./entity/User";\n\nasync function main() {\n await AppDataSource.initialize();\n const userRepository = AppDataSource.getRepository(User);\n\n // बनाना\n const newUser = userRepository.create({\n name: "इवान",\n email: "ivan@example.com",\n age: 25\n });\n await userRepository.save(newUser);\n console.log("उपयोगकर्ता बनाया गया:", newUser);\n\n // सभी पढ़ना\n const users = await userRepository.find();\n console.log("सभी उपयोगकर्ता:", users);\n\n // अपडेट करना\n await userRepository.update({ id: 1 }, { age: 26 });\n\n // हटाना\n await userRepository.delete({ id: 1 });\n}\n\nmain().catch(console.error);\n\nTypeORM स्वचालित रूप से SQL क्वेरीज़ उत्पन्न करता है, और TypeScript की टाइपिंग कंपाइलेशन चरण में त्रुटियों से बचाती है।
\n\n3. Mongoose के माध्यम से MongoDB के साथ कार्य
\n\nMongoDB एक NoSQL डेटाबेस है जो JSON जैसे प्रारूप में डेटा संग्रहीत करता है। Mongoose TypeScript के लिए स्कीमा और वैलिडेशन प्रदान करता है।
\n\n3.1. कनेक्शन और स्कीमा परिभाषा
\n\nकनेक्शन के लिए db.ts फ़ाइल बनाएँ:
import mongoose from "mongoose";\n\nexport async function connectDB() {\n await mongoose.connect("mongodb://localhost:27017/mydb");\n console.log("MongoDB से कनेक्टेड");\n}