CRUD Operations (Create, Read, Update, Delete)

Computer Programming - নোড জেএস (Node.js) Database Integration (ডেটাবেস ইন্টিগ্রেশন) |
174
174

CRUD হল Create, Read, Update, এবং Delete এর সংক্ষিপ্ত রূপ। এই চারটি অপারেশন ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে ডাটাবেস বা অন্য কোনো ডাটা স্টোরেজ সিস্টেমের সাথে ইন্টারঅ্যাক্ট করার জন্য ব্যবহৃত হয়। CRUD অপারেশনগুলির মাধ্যমে ডাটা তৈরি করা, পড়া, পরিবর্তন করা এবং মুছে ফেলা সম্ভব হয়। এগুলি সাধারণত ওয়েব অ্যাপ্লিকেশনগুলির সার্ভার সাইড লজিকের অংশ হিসেবে কাজ করে।

Node.js এবং Express ব্যবহার করে একটি RESTful API তৈরি করতে CRUD অপারেশনগুলির বাস্তবায়ন করা হয়। ডাটাবেস হিসেবে MongoDB বা MySQL ব্যবহার করা হয়, তবে এখানে MongoDB এর সাথে CRUD অপারেশন দেখানো হবে।


১. Create (তৈরি করা)

Create অপারেশন ডাটাবেসে নতুন রেকর্ড বা ডাটা তৈরি করতে ব্যবহৃত হয়।

MongoDB এ Create উদাহরণ (POST রিকোয়েস্ট):

  1. Express এ API তৈরি করা:
const express = require('express');
const mongoose = require('mongoose');
const app = express();

app.use(express.json());  // JSON বডি পার্স করার জন্য

// MongoDB মডেল তৈরি করা
const User = mongoose.model('User', new mongoose.Schema({
  name: String,
  age: Number,
  email: String
}));

// POST রিকোয়েস্ট হ্যান্ডলার (Create)
app.post('/users', async (req, res) => {
  try {
    const { name, age, email } = req.body;
    const newUser = new User({ name, age, email });
    await newUser.save();  // ডাটাবেসে নতুন রেকর্ড সংরক্ষণ করা
    res.status(201).send(newUser);  // সফল হলে 201 স্ট্যাটাস কোড এবং ডাটা রিটার্ন
  } catch (err) {
    res.status(400).send(err);  // ত্রুটি হলে 400 স্ট্যাটাস কোড
  }
});

app.listen(3000, () => {
  console.log('Server is running on http://localhost:3000');
});

এখানে, /users পাথে POST রিকোয়েস্ট এ নতুন ব্যবহারকারী তৈরি করা হচ্ছে এবং MongoDB ডাটাবেসে সেই তথ্য সংরক্ষণ করা হচ্ছে।


২. Read (পড়া)

Read অপারেশন ব্যবহার করে ডাটাবেস থেকে ডাটা পড়া বা দেখানো হয়। এটি সাধারণত GET রিকোয়েস্টে ব্যবহৃত হয়।

MongoDB এ Read উদাহরণ (GET রিকোয়েস্ট):

  1. GET রিকোয়েস্ট হ্যান্ডলার (Read):
// GET রিকোয়েস্ট হ্যান্ডলার (Read)
app.get('/users', async (req, res) => {
  try {
    const users = await User.find();  // সমস্ত ইউজারের ডাটা পড়া
    res.status(200).send(users);  // সফল হলে 200 স্ট্যাটাস কোড এবং ডাটা রিটার্ন
  } catch (err) {
    res.status(400).send(err);  // ত্রুটি হলে 400 স্ট্যাটাস কোড
  }
});

এখানে, /users পাথের GET রিকোয়েস্টে MongoDB থেকে সমস্ত ব্যবহারকারীদের তথ্য ফিরিয়ে দেওয়া হচ্ছে।

  1. GET একক রেকর্ড পড়া:
// GET রিকোয়েস্ট হ্যান্ডলার (Read single record)
app.get('/users/:id', async (req, res) => {
  try {
    const user = await User.findById(req.params.id);  // ইউজারের আইডি দিয়ে ডাটা পড়া
    if (!user) {
      return res.status(404).send('User not found');
    }
    res.status(200).send(user);  // সফল হলে 200 স্ট্যাটাস কোড এবং ডাটা রিটার্ন
  } catch (err) {
    res.status(400).send(err);  // ত্রুটি হলে 400 স্ট্যাটাস কোড
  }
});

এখানে, GET /users/:id পাথের মাধ্যমে একক ব্যবহারকারীর তথ্য তার id দিয়ে MongoDB থেকে পাওয়া হচ্ছে।


৩. Update (আপডেট করা)

Update অপারেশন ব্যবহার করে ডাটাবেসে থাকা একটি রেকর্ড বা ডাটা পরিবর্তন করা হয়।

MongoDB এ Update উদাহরণ (PUT/PATCH রিকোয়েস্ট):

  1. PUT রিকোয়েস্ট হ্যান্ডলার (Update):
// PUT রিকোয়েস্ট হ্যান্ডলার (Update)
app.put('/users/:id', async (req, res) => {
  try {
    const { name, age, email } = req.body;
    const updatedUser = await User.findByIdAndUpdate(req.params.id, {
      name,
      age,
      email
    }, { new: true });  // নতুন ডাটা ফেরত আসবে

    if (!updatedUser) {
      return res.status(404).send('User not found');
    }

    res.status(200).send(updatedUser);  // সফল হলে 200 স্ট্যাটাস কোড এবং আপডেটেড ডাটা
  } catch (err) {
    res.status(400).send(err);  // ত্রুটি হলে 400 স্ট্যাটাস কোড
  }
});

এখানে, PUT /users/:id পাথের মাধ্যমে নির্দিষ্ট আইডি অনুযায়ী ব্যবহারকারীর ডাটা আপডেট করা হচ্ছে। findByIdAndUpdate() মেথড ব্যবহার করে ডাটাবেসে রেকর্ড আপডেট করা হচ্ছে।

  1. PATCH রিকোয়েস্ট হ্যান্ডলার (Partial Update):
// PATCH রিকোয়েস্ট হ্যান্ডলার (Partial Update)
app.patch('/users/:id', async (req, res) => {
  try {
    const updatedUser = await User.findByIdAndUpdate(req.params.id, req.body, { new: true });
    if (!updatedUser) {
      return res.status(404).send('User not found');
    }
    res.status(200).send(updatedUser);
  } catch (err) {
    res.status(400).send(err);
  }
});

এখানে, PATCH /users/:id পাথের মাধ্যমে কেবল নির্দিষ্ট ক্ষেত্রগুলোর আপডেট করা হচ্ছে।


৪. Delete (মুছে ফেলা)

Delete অপারেশন ডাটাবেস থেকে কোনো রেকর্ড বা ডাটা মুছে ফেলার জন্য ব্যবহৃত হয়।

MongoDB এ Delete উদাহরণ (DELETE রিকোয়েস্ট):

  1. DELETE রিকোয়েস্ট হ্যান্ডলার (Delete):
// DELETE রিকোয়েস্ট হ্যান্ডলার (Delete)
app.delete('/users/:id', async (req, res) => {
  try {
    const deletedUser = await User.findByIdAndDelete(req.params.id);  // আইডি দিয়ে ইউজার মুছে ফেলা
    if (!deletedUser) {
      return res.status(404).send('User not found');
    }
    res.status(200).send('User deleted successfully');  // সফল হলে 200 স্ট্যাটাস কোড
  } catch (err) {
    res.status(400).send(err);  // ত্রুটি হলে 400 স্ট্যাটাস কোড
  }
});

এখানে, DELETE /users/:id পাথের মাধ্যমে নির্দিষ্ট আইডি অনুযায়ী ব্যবহারকারী মুছে ফেলা হচ্ছে।


সারাংশ

  • Create (POST) অপারেশন ডাটাবেসে নতুন রেকর্ড তৈরি করে।
  • Read (GET) অপারেশন ডাটাবেস থেকে রেকর্ড পড়তে ব্যবহৃত হয়।
  • Update (PUT/PATCH) অপারেশন ডাটাবেসের বিদ্যমান রেকর্ড পরিবর্তন করে।
  • Delete (DELETE) অপারেশন ডাটাবেস থেকে রেকর্ড মুছে ফেলে।

এই CRUD অপারেশনগুলি Node.js এবং Express সহ MongoDB বা অন্যান্য ডাটাবেস সিস্টেমে RESTful API তৈরি করার জন্য গুরুত্বপূর্ণ ভিত্তি।

Content added By
Promotion