MongoDB, MySQL, PostgreSQL এর সাথে ExpressJS সংযোগ

ExpressJS এবং ডাটাবেস ইন্টিগ্রেশন - এক্সপ্রেসজেএস (ExpressJS) - Web Development

246

ExpressJS একটি ফ্রেমওয়ার্ক হিসেবে ব্যবহৃত হয়, এবং এটি ডাটাবেসের সাথে সংযোগ স্থাপন করতে সাহায্য করে। বিভিন্ন ডাটাবেস যেমন MongoDB, MySQL, এবং PostgreSQL-এর সাথে ExpressJS সংযোগ স্থাপন করতে কয়েকটি পদ্ধতি ব্যবহার করা হয়। এখানে MongoDB, MySQL এবং PostgreSQL এর সাথে ExpressJS সংযোগের প্রক্রিয়া বিস্তারিতভাবে আলোচনা করা হবে।


১. MongoDB এর সাথে ExpressJS সংযোগ

MongoDB একটি NoSQL ডাটাবেস এবং এটি JSON-স্টাইল ডকুমেন্ট দ্বারা ডেটা সংরক্ষণ করে। ExpressJS এবং MongoDB সংযোগের জন্য সাধারণত Mongoose লাইব্রেরি ব্যবহার করা হয়।

১.১. Mongoose ইনস্টল করা

প্রথমে, Mongoose ইনস্টল করতে হবে:

npm install mongoose

১.২. MongoDB এর সাথে ExpressJS সংযোগ

MongoDB-তে ExpressJS সংযোগ স্থাপনের জন্য নিচের কোডটি ব্যবহার করা যেতে পারে:

const express = require('express');
const mongoose = require('mongoose');
const app = express();
const port = 3000;

// MongoDB URI (আপনার MongoDB সার্ভারের URI)
const mongoURI = 'mongodb://localhost:27017/mydatabase';

// MongoDB সংযোগ স্থাপন
mongoose.connect(mongoURI, { useNewUrlParser: true, useUnifiedTopology: true })
  .then(() => {
    console.log('MongoDB connected');
  })
  .catch(err => {
    console.log('MongoDB connection error:', err);
  });

// একটি সিম্পল রাউট
app.get('/', (req, res) => {
  res.send('Hello MongoDB with ExpressJS');
});

app.listen(port, () => {
  console.log(`Server is running at http://localhost:${port}`);
});

ব্যাখ্যা:

  • mongoose.connect(): MongoDB ডাটাবেসের সাথে সংযোগ স্থাপন করে।
  • useNewUrlParseruseUnifiedTopology: MongoDB ক্লায়েন্টের জন্য কিছু নতুন ফিচার এনাবল করতে ব্যবহৃত অপশন।

২. MySQL এর সাথে ExpressJS সংযোগ

MySQL একটি রিলেশনাল ডাটাবেস এবং এটি ডেটা সারণী (table)-এর মধ্যে সম্পর্ক স্থাপন করে। ExpressJS এবং MySQL সংযোগ স্থাপনের জন্য সাধারণত mysql2 লাইব্রেরি ব্যবহার করা হয়।

২.১. mysql2 ইনস্টল করা

প্রথমে mysql2 ইনস্টল করুন:

npm install mysql2

২.২. MySQL এর সাথে ExpressJS সংযোগ

const express = require('express');
const mysql = require('mysql2');
const app = express();
const port = 3000;

// MySQL সংযোগ কনফিগারেশন
const db = mysql.createConnection({
  host: 'localhost',
  user: 'root',          // আপনার MySQL ব্যবহারকারীর নাম
  password: '',          // আপনার MySQL পাসওয়ার্ড
  database: 'mydatabase' // আপনার ডাটাবেসের নাম
});

// MySQL সংযোগ স্থাপন
db.connect((err) => {
  if (err) {
    console.error('MySQL connection error:', err.stack);
    return;
  }
  console.log('MySQL connected as id ' + db.threadId);
});

// একটি সিম্পল রাউট
app.get('/', (req, res) => {
  res.send('Hello MySQL with ExpressJS');
});

// ডাটাবেস থেকে ডেটা ফেচ করা
app.get('/users', (req, res) => {
  db.query('SELECT * FROM users', (err, results) => {
    if (err) throw err;
    res.json(results);
  });
});

app.listen(port, () => {
  console.log(`Server is running at http://localhost:${port}`);
});

ব্যাখ্যা:

  • mysql.createConnection(): MySQL ডাটাবেসের সাথে সংযোগ স্থাপন করার জন্য কনফিগারেশন সেটআপ।
  • db.query(): ডাটাবেস থেকে তথ্য (যেমন: SELECT * FROM users) ফেচ করতে ব্যবহৃত।

৩. PostgreSQL এর সাথে ExpressJS সংযোগ

PostgreSQL একটি শক্তিশালী এবং ওপেন সোর্স রিলেশনাল ডাটাবেস। ExpressJS এবং PostgreSQL সংযোগ স্থাপনের জন্য সাধারণত pg (node-postgres) প্যাকেজ ব্যবহার করা হয়।

৩.১. pg ইনস্টল করা

প্রথমে pg ইনস্টল করুন:

npm install pg

৩.২. PostgreSQL এর সাথে ExpressJS সংযোগ

const express = require('express');
const { Client } = require('pg');
const app = express();
const port = 3000;

// PostgreSQL সংযোগ কনফিগারেশন
const client = new Client({
  host: 'localhost',
  user: 'postgres',      // PostgreSQL ব্যবহারকারীর নাম
  password: '',          // PostgreSQL পাসওয়ার্ড
  database: 'mydatabase' // PostgreSQL ডাটাবেস নাম
});

// PostgreSQL সংযোগ স্থাপন
client.connect()
  .then(() => {
    console.log('PostgreSQL connected');
  })
  .catch(err => {
    console.error('PostgreSQL connection error:', err.stack);
  });

// একটি সিম্পল রাউট
app.get('/', (req, res) => {
  res.send('Hello PostgreSQL with ExpressJS');
});

// ডাটাবেস থেকে ডেটা ফেচ করা
app.get('/users', (req, res) => {
  client.query('SELECT * FROM users', (err, result) => {
    if (err) {
      return res.status(500).json({ error: err.message });
    }
    res.json(result.rows);
  });
});

app.listen(port, () => {
  console.log(`Server is running at http://localhost:${port}`);
});

ব্যাখ্যা:

  • pg.Client(): PostgreSQL ডাটাবেসে সংযোগ স্থাপন করার জন্য ক্লায়েন্ট অবজেক্ট তৈরি করা হয়।
  • client.query(): SQL কোয়েরি চালানোর জন্য ব্যবহৃত হয়, যেমন SELECT * FROM users

৪. ডাটাবেস ম্যানেজমেন্ট এবং এমডেলিং

৪.১. MongoDB এর জন্য Mongoose Model তৈরি করা

MongoDB-তে ডেটা সঞ্চয় করতে Mongoose মডেল ব্যবহার করা হয়। এটি ডাটাবেসের ডকুমেন্টের গঠন (schema) সংজ্ঞায়িত করতে সহায়তা করে।

const mongoose = require('mongoose');

// মডেল গঠন
const userSchema = new mongoose.Schema({
  name: { type: String, required: true },
  email: { type: String, required: true, unique: true },
  age: { type: Number, required: true }
});

// মডেল তৈরি
const User = mongoose.model('User', userSchema);

// নতুন ব্যবহারকারী তৈরি করা
const newUser = new User({
  name: 'John Doe',
  email: 'john@example.com',
  age: 30
});

newUser.save()
  .then(user => console.log('User saved:', user))
  .catch(err => console.log('Error:', err));

৪.২. MySQL এবং PostgreSQL এর জন্য SQL ম্যানেজমেন্ট

MySQL এবং PostgreSQL-এ সাধারণত SQL কোয়েরি ব্যবহার করে ডেটা ম্যানেজ করা হয়। SQL কোয়েরি যেমন SELECT, INSERT, UPDATE, DELETE ডেটাবেসে ডেটা পরিবর্তন করতে ব্যবহৃত হয়।


সারাংশ

ExpressJS-এর সাথে MongoDB, MySQL, এবং PostgreSQL সংযোগ স্থাপন করা খুবই সহজ। MongoDB-এর জন্য Mongoose, MySQL-এর জন্য mysql2, এবং PostgreSQL-এর জন্য pg প্যাকেজ ব্যবহার করা হয়। MongoDB একটি NoSQL ডাটাবেস, যেখানে ডেটা JSON ফরম্যাটে সঞ্চিত থাকে, আর MySQL এবং PostgreSQL রিলেশনাল ডাটাবেস যেখানে SQL কোয়েরি ব্যবহার করা হয়। ডাটাবেসের সাথে সঠিক সংযোগ এবং ডেটা ম্যানেজমেন্টের মাধ্যমে আপনি স্কেলেবল এবং দক্ষ ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...