MongoDB এবং Express.js এর সাথে REST API তৈরি

MongoDB এবং JavaScript Integration - মঙ্গোডিবি (MongoDB) - Database Tutorials

305

MongoDB এবং Express.js এর সাহায্যে RESTful API তৈরি করা একটি জনপ্রিয় প্রক্রিয়া, যেটি ডেটাবেস পরিচালনা এবং ওয়েব অ্যাপ্লিকেশন তৈরির জন্য ব্যবহার করা হয়। MongoDB একটি NoSQL ডেটাবেস এবং Express.js হল Node.js এর জন্য একটি জনপ্রিয় ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক, যা REST API নির্মাণে সহজতা প্রদান করে।

এখানে MongoDB এবং Express.js ব্যবহার করে একটি REST API তৈরি করার সম্পূর্ণ গাইড দেওয়া হল।


প্রথমে প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করুন

আপনার প্রকল্পে MongoDB এবং Express.js ব্যবহার করতে হলে, আপনাকে প্রথমে Node.js এবং তার প্যাকেজ ম্যানেজার npm ইনস্টল করতে হবে। এরপর, MongoDB এবং Express.js এর জন্য কিছু প্যাকেজ ইনস্টল করতে হবে।

  1. Node.js ইনস্টল করুন (যদি ইতিমধ্যে ইনস্টল না থাকে):
    Node.js ডাউনলোড পেজ থেকে Node.js ডাউনলোড করুন।
  2. npm ইনস্টলেশন (Node.js ইনস্টল করার পর স্বয়ংক্রিয়ভাবে ইনস্টল হয়)।
  3. নতুন Node.js প্রকল্প তৈরি করুন: একটি নতুন ডিরেক্টরি তৈরি করুন এবং সেখানে একটি নতুন package.json ফাইল তৈরি করুন:

    mkdir my-api
    cd my-api
    npm init -y
    
  4. Express.js, MongoDB (Mongoose), Cors ইনস্টল করুন: Express.js, Mongoose (MongoDB এর জন্য ODM), এবং Cors প্যাকেজ ইনস্টল করুন:

    npm install express mongoose cors
    

API নির্মাণের ধাপগুলো

1. Express.js সার্ভার সেটআপ

একটি server.js ফাইল তৈরি করুন এবং Express.js অ্যাপ্লিকেশন সেটআপ করুন।

const express = require('express');
const mongoose = require('mongoose');
const cors = require('cors');

// Express অ্যাপ্লিকেশন তৈরি
const app = express();
const PORT = 3000;

// Middleware সেটআপ
app.use(cors());
app.use(express.json()); // JSON বডি পার্স করতে

// MongoDB কানেকশন
mongoose.connect('mongodb://localhost:27017/mydb', { useNewUrlParser: true, useUnifiedTopology: true })
  .then(() => console.log("MongoDB Connected"))
  .catch(err => console.log(err));

// API রাউটস
app.get('/', (req, res) => {
  res.send('Hello World!');
});

// সার্ভার চালু করা
app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

এটি একটি মৌলিক Express.js সার্ভার যা MongoDB এর সাথে কানেক্ট হবে এবং HTTP GET রিকোয়েস্ট হ্যান্ডেল করবে।

2. MongoDB মডেল তৈরি করুন

MongoDB ডেটাবেসে ডেটা সংরক্ষণ করার জন্য একটি মডেল তৈরি করতে হবে। উদাহরণস্বরূপ, একটি User মডেল তৈরি করা যাক।

models/User.js ফাইল তৈরি করুন:

const mongoose = require('mongoose');

// User Schema তৈরি
const userSchema = new mongoose.Schema({
  name: { type: String, required: true },
  email: { type: String, required: true, unique: true },
  age: { type: Number, required: true }
});

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

module.exports = User;

3. CRUD অপারেশন রাউটস তৈরি করুন

এখন, আমাদের RESTful API রাউটগুলি তৈরি করতে হবে, যাতে ডেটাবেসে ডেটা CRUD (Create, Read, Update, Delete) অপারেশন করতে পারি।

routes/userRoutes.js ফাইল তৈরি করুন:

const express = require('express');
const router = express.Router();
const User = require('../models/User');

// 1. Create User (POST)
router.post('/users', async (req, res) => {
  try {
    const { name, email, age } = req.body;
    const newUser = new User({ name, email, age });
    await newUser.save();
    res.status(201).json(newUser);
  } catch (err) {
    res.status(400).json({ message: err.message });
  }
});

// 2. Get All Users (GET)
router.get('/users', async (req, res) => {
  try {
    const users = await User.find();
    res.json(users);
  } catch (err) {
    res.status(400).json({ message: err.message });
  }
});

// 3. Get a Single User by ID (GET)
router.get('/users/:id', async (req, res) => {
  try {
    const user = await User.findById(req.params.id);
    if (!user) {
      return res.status(404).json({ message: 'User not found' });
    }
    res.json(user);
  } catch (err) {
    res.status(400).json({ message: err.message });
  }
});

// 4. Update User (PUT)
router.put('/users/:id', async (req, res) => {
  try {
    const { name, email, age } = req.body;
    const updatedUser = await User.findByIdAndUpdate(
      req.params.id,
      { name, email, age },
      { new: true }
    );
    res.json(updatedUser);
  } catch (err) {
    res.status(400).json({ message: err.message });
  }
});

// 5. Delete User (DELETE)
router.delete('/users/:id', async (req, res) => {
  try {
    const deletedUser = await User.findByIdAndDelete(req.params.id);
    if (!deletedUser) {
      return res.status(404).json({ message: 'User not found' });
    }
    res.json({ message: 'User deleted' });
  } catch (err) {
    res.status(400).json({ message: err.message });
  }
});

module.exports = router;

4. রাউটগুলো Express সার্ভারে সংযুক্ত করুন

server.js ফাইলে আমরা userRoutes.js রাউটগুলো সংযুক্ত করবো।

const userRoutes = require('./routes/userRoutes');
app.use('/api', userRoutes);  // '/api' পাথে সমস্ত রাউট

5. সার্ভার চালু করুন

সবকিছু প্রস্তুত হলে, এবার সার্ভারটি চালু করুন:

node server.js

এখন, আপনার API সার্ভারটি http://localhost:3000 এ চালু হবে এবং আপনি নিম্নলিখিত API রিকোয়েস্টগুলো করতে পারবেন:

  • POST /api/users: নতুন ব্যবহারকারী তৈরি করুন।
  • GET /api/users: সমস্ত ব্যবহারকারী দেখুন।
  • GET /api/users/:id: একটি ব্যবহারকারী দেখুন তার ID এর মাধ্যমে।
  • PUT /api/users/:id: একটি ব্যবহারকারী আপডেট করুন তার ID এর মাধ্যমে।
  • DELETE /api/users/:id: একটি ব্যবহারকারী মুছুন তার ID এর মাধ্যমে।

6. Postman ব্যবহার করে পরীক্ষা করুন

Postman বা অন্য কোন HTTP ক্লায়েন্ট টুল ব্যবহার করে আপনার REST API পরীক্ষা করতে পারেন। আপনি প্রতিটি রিকোয়েস্টের মাধ্যমে ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করতে পারবেন এবং ডেটার CRUD অপারেশন পরিচালনা করতে পারবেন।


সারাংশ

MongoDB এবং Express.js এর সাথে একটি RESTful API তৈরি করা খুবই সহজ এবং কার্যকরী। MongoDB ডেটাবেসের সাথে সংযোগ স্থাপন, Mongoose দিয়ে মডেল তৈরি, এবং Express.js এর মাধ্যমে HTTP রাউট এবং কুয়েরি পরিচালনা করা হয়। এই পদ্ধতির মাধ্যমে আপনি দ্রুত একটি পূর্ণাঙ্গ API তৈরি করতে পারবেন যা ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করে।

Content added By
Promotion

Are you sure to start over?

Loading...