Express + MongoDB (Mongoose) CRUD

Express + MongoDB (Mongoose) CRUD Tutorial

একটি পূর্ণাঙ্গ CRUD অ্যাপ বানানোর সম্পূর্ণ গাইড

CRUD কি?

CRUD হলো চারটি বেসিক ডাটাবেস অপারেশন:

  • C — Create (নতুন ডাটা তৈরি)
  • R — Read (ডাটা পড়া)
  • U — Update (ডাটা পরিবর্তন)
  • D — Delete (ডাটা মুছে ফেলা)

Express.js + MongoDB + Mongoose ব্যবহার করে আমরা খুব সহজেই একটি CRUD অ্যাপ তৈরি করতে পারি।

প্রজেক্ট সেটআপ

mkdir express-crud
cd express-crud
npm init -y
npm install express mongoose cors
        

server.js তৈরি করুন

const express = require("express");
const mongoose = require("mongoose");

const app = express();
app.use(express.json());

mongoose.connect("mongodb://localhost:27017/crudDB")
.then(() => console.log("MongoDB Connected"))
.catch(err => console.log(err));

app.listen(5000, () => {
    console.log("Server running on port 5000");
});
        

Mongoose Model তৈরি

ধরুন আমরা একটি "Student" মডেল তৈরি করবো:

const mongoose = require("mongoose");

const studentSchema = new mongoose.Schema({
    name: {
        type: String,
        required: true
    },
    class: {
        type: Number,
        required: true
    },
    marks: {
        type: Number,
        required: true
    }
});

module.exports = mongoose.model("Student", studentSchema);
        

CRUD API Routes

1. Create (POST)

app.post("/students", async (req, res) => {
    try {
        const student = new Student(req.body);
        const saved = await student.save();
        res.json(saved);
    } catch (err) {
        res.status(500).json({ error: err });
    }
});
        

2. Read All (GET)

app.get("/students", async (req, res) => {
    const data = await Student.find();
    res.json(data);
});
        

3. Read Single (GET by ID)

app.get("/students/:id", async (req, res) => {
    const data = await Student.findById(req.params.id);
    res.json(data);
});
        

4. Update (PUT)

app.put("/students/:id", async (req, res) => {
    const updated = await Student.findByIdAndUpdate(
        req.params.id,
        req.body,
        { new: true }
    );
    res.json(updated);
});
        

5. Delete (DELETE)

app.delete("/students/:id", async (req, res) => {
    await Student.findByIdAndDelete(req.params.id);
    res.json({ message: "Student Deleted" });
});
        

Express + MongoDB CRUD Workflow

  • Client → API Request পাঠায়
  • Express.js → Request গ্রহণ করে
  • Mongoose → MongoDB তে ডাটা CRUD করে
  • Response → Client এর কাছে ফিরে যায়

উপসংহার

Express.js এবং MongoDB (Mongoose) ব্যবহার করে CRUD করা খুবই সহজ এবং স্কেলেবল। এই স্ট্রাকচার ব্যবহার করে আপনি যেকোনো বড় প্রজেক্টের ব্যাকএন্ডও তৈরি করতে পারবেন।

👼 Quiz
/

লোড হচ্ছে...