Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • MongoDB Documentation21টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • কেন Mongoose?
  • Installation
  • Connection
  • Schema
  • Model
  • Document
  • CRUD
  • Querying
  • Validation
  • Middleware
  • Population
  • Aggregation
  • Virtuals
  • Indexes
  • Error Handling
  • Update Operators
  • Transactions
  • Express Integration
  • Blog Project
  • Best Practices
  1. Docs
  2. MongoDB
  3. Error Handling
MongoDBIntermediate

Error Handling

ValidationError, CastError, duplicate key — চেনা ও সঠিকভাবে handle করা — বাংলায়।

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

Mongoose-এর সাধারণ error

Errorযখন ঘটেকী করবেন
ValidationErrorschema validation ব্যর্থfield-ভিত্তিক message দেখান
CastErrorভুল ObjectId/type দেওয়াInvalid ID response দিন
MongoServerErrorunique conflict (code 11000)duplicate হিসেবে handle
MongooseError (buffer)disconnected অবস্থায় queryconnection নিশ্চিত করুন

Async handler

try/catch wrapperjs
js
async function getPost(req, res) {
  try {
    const post = await Post.findById(req.params.id);
    if (!post) {
      return res.status(404).json({ message: "Post পাওয়া যায়নি" });
    }
    res.json(post);
  } catch (err) {
    // mongoose-এর ভুল ID → CastError
    if (err.name === "CastError") {
      return res.status(400).json({ message: "Invalid id" });
    }
    console.error(err);
    res.status(500).json({ message: "Something went wrong" });
  }
}

Duplicate key

Unique conflict (11000)js
js
try {
  await User.create({ email: "rahim@example.com" });
} catch (err) {
  if (err.code === 11000) {
    return res.status(409).json({
      message: "এই email-এ একটি অ্যাকাউন্ট ইতিমধ্যে আছে",
    });
  }
  throw err;
}

Global error middleware (Express)

Central error handlerjs
js
app.use((err, req, res, next) => {
  if (err.name === "ValidationError") {
    const errors = Object.fromEntries(
      Object.entries(err.errors).map(([key, e]) => [key, e.message])
    );
    return res.status(400).json({ message: "Validation failed", errors });
  }

  res.status(err.statusCode || 500).json({
    message: err.message || "Internal server error",
  });
});
Error handler আগে পড়ুন

Async function-এ throw করা error Express-এ স্বয়ংক্রিয় ধরা পড়ে না (Express 4-এ) — প্রতিটি route-কে try/catch বা wrapper দিয়ে cover করুন (Express 5-এ async error-ও ধরা পড়ে)।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরIndexesপরেরUpdate Operators ($set, $inc, $push…)
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com