Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Express Documentation22টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • Installation
  • Routing
  • Middleware
  • Request & Response
  • Static Files
  • Router
  • Error Handling
  • Template Engines
  • Body Parsing
  • File Upload
  • CORS
  • Database
  • Validation
  • Authentication
  • Security
  • REST API
  • Performance
  • Testing
  • Best Practices
  • Project
  • Interview
  1. Docs
  2. Express
  3. Express + MongoDB (Mongoose)
ExpressIntermediate

Express + MongoDB (Mongoose)

Express-এ MongoDB সংযোগ, model, CRUD routes — database integration বাংলায়।

11টি অংশবাংলা ভাষায়

Express-এর সাথে সাধারণত MongoDB (Mongoose ODM) বা SQL (Prisma/Sequelize) ব্যবহার হয়। এখানে MongoDB + Mongoose দেখবো।

ধাঁধাঁ Setup

# MongoDB install (ডেস্কটপ বা MongoDB Atlas)
npm install mongoose dotenv
.envenv
env
PORT=5000
MONGO_URI=mongodb://localhost:27017/myapp

Database Connection

config/db.jsjavascript
javascript
const mongoose = require("mongoose");

const connectDB = async () => {
  try {
    const conn = await mongoose.connect(process.env.MONGO_URI);
    console.log("MongoDB connected:", conn.connection.host);
  } catch (error) {
    console.error("DB ত্রুটি:", error.message);
    process.exit(1);
  }
};

module.exports = connectDB;
models/User.jsjavascript
javascript
const mongoose = require("mongoose");

const userSchema = new mongoose.Schema({
  name: { type: String, required: true, trim: true },
  email: {
    type: String,
    required: true,
    unique: true,
    lowercase: true,
  },
  age: { type: Number, min: 0, max: 120, default: 0 },
  createdAt: { type: Date, default: Date.now },
});

module.exports = mongoose.model("User", userSchema);

CRUD Routes

routes/users.jsjavascript
javascript
const express = require("express");
const User = require("../models/User");
const router = express.Router();

// GET all
router.get("/", async (req, res, next) => {
  try {
    const users = await User.find().sort("-createdAt");
    res.json({ count: users.length, users });
  } catch (err) { next(err); }
});

// GET one
router.get("/:id", async (req, res, next) => {
  try {
    const user = await User.findById(req.params.id);
    if (!user) return res.status(404).json({ error: "User নেই" });
    res.json(user);
  } catch (err) { next(err); }
});

// POST
router.post("/", async (req, res, next) => {
  try {
    const user = await User.create(req.body);
    res.status(201).json(user);
  } catch (err) { next(err); }
});

// PUT
router.put("/:id", async (req, res, next) => {
  try {
    const user = await User.findByIdAndUpdate(
      req.params.id, req.body,
      { new: true, runValidators: true }
    );
    if (!user) return res.status(404).json({ error: "User নেই" });
    res.json(user);
  } catch (err) { next(err); }
});

// DELETE
router.delete("/:id", async (req, res, next) => {
  try {
    const user = await User.findByIdAndDelete(req.params.id);
    if (!user) return res.status(404).json({ error: "User নেই" });
    res.json({ message: "User মুছে ফেলা হয়েছে" });
  } catch (err) { next(err); }
});

module.exports = router;
index.jsjavascript
javascript
require("dotenv").config();
const express = require("express");
const connectDB = require("./config/db");

connectDB();

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

app.use("/api/users", require("./routes/users"));

app.listen(process.env.PORT, () =>
  console.log("Server চলছে port:", process.env.PORT)
);
MVC Structure

Routes-এ সরাসরি logic না রেখে Controllers ফোল্ডারে business logic রাখুন — model (data) + view/route (HTTP) + controller (logic) — মডার্ন pattern।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরExpress CORSপরেরExpress Input Validation (Zod)
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com