जावास्क्रिप्ट में डेटाबेस के साथ काम करना: Node.js पर PostgreSQL और MongoDB

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

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

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

JavaScript में डेटाबेस के साथ काम करना: Node.js पर PostgreSQL और MongoDB



आधुनिक JavaScript वेब-डेवलपमेंट प्रभावी डेटा प्रबंधन के बिना अकल्पनीय है। Node.js, एक सर्वर प्लेटफॉर्म के रूप में, विभिन्न डेटाबेस मैनेजमेंट सिस्टम (DBMS) के साथ इंटरैक्ट करने के लिए शक्तिशाली टूल प्रदान करता है। इस लेख में, हम दो लोकप्रिय समाधानों — रिलेशनल PostgreSQL और डॉक्यूमेंट-ओरिएंटेड MongoDB के साथ काम करने पर विस्तार से चर्चा करेंगे। आप सीखेंगे कि इन डेटाबेस से कैसे कनेक्ट करें, CRUD ऑपरेशन (क्रिएट, रीड, अपडेट, डिलीट) कैसे करें और उनके बीच सूचित विकल्प कैसे चुनें।



यह सामग्री शुरुआती डेवलपर्स के लिए उपयोगी होगी जो JavaScript में बैकएंड सीख रहे हैं, साथ ही अनुभवी पेशेवरों के लिए जो अपने ज्ञान को व्यवस्थित करना चाहते हैं। सभी कोड उदाहरण Node.js रनटाइम एनवायरनमेंट के लिए लिखे गए हैं।



एनवायरनमेंट सेटअप और ड्राइवर इंस्टॉलेशन



काम शुरू करने से पहले, npm के माध्यम से संबंधित पैकेज इंस्टॉल करना आवश्यक है। PostgreSQL के लिए pg ड्राइवर का उपयोग किया जाता है, और MongoDB के लिए आधिकारिक mongodb ड्राइवर या लोकप्रिय ODM लाइब्रेरी mongoose का उपयोग किया जाता है।



एक नया प्रोजेक्ट बनाएं और डिपेंडेंसी इंस्टॉल करें:



mkdir db-example && cd db-examplenpm init -ynpm install pg mongoose


अब आपका एनवायरनमेंट प्रयोगों के लिए तैयार है। सुनिश्चित करें कि आपकी मशीन पर संबंधित डेटाबेस सर्वर (PostgreSQL पोर्ट 5432 पर और MongoDB पोर्ट 27017 पर) चल रहे हैं।



1. pg ड्राइवर के माध्यम से PostgreSQL के साथ काम करना



PostgreSQL SQL सपोर्ट के साथ एक शक्तिशाली रिलेशनल DBMS है। Node.js में इसके साथ इंटरैक्ट करने के लिए pg पैकेज का उपयोग किया जाता है, जो कनेक्शन पूल और एक अलग क्लाइंट दोनों प्रदान करता है।



कनेक्शन और क्वेरी निष्पादन का एक बुनियादी उदाहरण देखें:



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

// कनेक्शन पूल कॉन्फ़िगरेशनconst pool = new Pool({ user: 'postgres', host: 'localhost', database: 'testdb', password: 'your_password', port: 5432,});

// DB के साथ काम करने के लिए एसिंक्रोनस फंक्शनasync function runPostgresExample() { try { // टेबल बनाना await pool.query(` CREATE TABLE IF NOT EXISTS users ( id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, age INTEGER ); `);

// INSERT — डेटा जोड़ना const insertResult = await pool.query( 'INSERT INTO users (name, email, age) VALUES ($1, $2, $3) RETURNING *', ['Иван Петров', 'ivan@example.com', 30] ); console.log('उपयोगकर्ता जोड़ा गया:', insertResult.rows[0]);

// SELECT — डेटा पढ़ना const selectResult = await pool.query('SELECT * FROM users'); console.log('सभी उपयोगकर्ता:', selectResult.rows);

// UPDATE — डेटा अपडेट करना await pool.query( 'UPDATE users SET age = $1 WHERE name = $2', [31, 'Иван Петров'] ); console.log('आयु अपडेट की गई');

// DELETE — डेटा हटाना await pool.query('DELETE FROM users WHERE name = $1', ['Иван Петров']); console.log('उपयोगकर्ता हटा दिया गया'); } catch (err) { console.error('PostgreSQL त्रुटि:', err.message); } finally { await pool.end(); }}

runPostgresExample();


प्लेसहोल्डर $1, $2 आदि के साथ पैरामीटराइज्ड क्वेरी के उपयोग पर ध्यान दें। यह SQL इंजेक्शन से बचाता है और एक सर्वोत्तम अभ्यास है। प्रोडक्शन एनवायरनमेंट के लिए कनेक्शन पूल की सिफारिश की जाती है क्योंकि यह कनेक्शन को कुशलतापूर्वक प्रबंधित करता है।



2. Mongoose के माध्यम से MongoDB के साथ काम करना



MongoDB एक NoSQL डेटाबेस है जो JSON (BSON) जैसे फॉर्मेट में डेटा संग्रहीत करता है। Mongoose स्कीमा, वैलिडेशन और कलेक्शन के साथ काम करने के तरीकों के साथ एक सुविधाजनक एब्स्ट्रैक्शन प्रदान करता है।



Mongoose के साथ कनेक्शन और CRUD ऑपरेशन का उदाहरण:



const mongoose = require('mongoose');

// उपयोगकर्ता स्कीमा की परिभाषा

ब्लॉग

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