Mongoose ORM ব্যবহার করে MongoDB এর সাথে ইন্টিগ্রেশন

MongoDB পরিচিতি এবং ইন্টিগ্রেশন - মিনজেএস (MeanJS) - Web Development

314

Mongoose ORM হল একটি জনপ্রিয় লাইব্রেরি যা MongoDB এর সাথে Node.js এর ইন্টিগ্রেশন সহজ করে। এটি MongoDB এর ডেটাবেস অপারেশনগুলিকে সহজ এবং সুরক্ষিতভাবে পরিচালনা করতে সাহায্য করে। MeanJS এ Mongoose ব্যবহার করে MongoDB এর সাথে ইন্টিগ্রেশন করার প্রক্রিয়া নিচে বিস্তারিতভাবে দেওয়া হলো।


১. Mongoose ইনস্টল করা

প্রথমে আপনাকে Mongoose প্যাকেজটি আপনার প্রজেক্টে ইনস্টল করতে হবে। নিচের কমান্ডটি ব্যবহার করে Mongoose ইনস্টল করুন:

npm install mongoose

এটি Mongoose লাইব্রেরিটি আপনার প্রজেক্টে ইনস্টল করবে, যা MongoDB এর সাথে ইন্টিগ্রেশন সহজ করে।


২. Mongoose কনফিগারেশন এবং কানেকশন

Mongoose ব্যবহার করতে হলে প্রথমে MongoDB ডেটাবেসের সাথে কানেক্ট হতে হবে। এর জন্য, আপনার config ফোল্ডারে একটি কনফিগারেশন ফাইল তৈরি করুন, যেমন config/db.config.js:

db.config.js

'use strict';

module.exports = {
    db: 'mongodb://localhost:27017/meanjs' // আপনার MongoDB এর URL এবং ডাটাবেস নাম
};

এখানে আপনি MongoDB এর কানেকশন স্ট্রিং দিয়ে ডেটাবেসের নাম নির্ধারণ করবেন।

এখন, Mongoose কে কানেক্ট করতে হবে। আপনার অ্যাপ্লিকেশন স্টার্ট করার সময় mongoose.connect() ব্যবহার করে MongoDB সার্ভারে কানেক্ট করুন। এটি সাধারনত server.js বা app.js ফাইলে করা হয়।

server.js বা app.js

'use strict';

var mongoose = require('mongoose');
var dbConfig = require('./config/db.config.js');

// MongoDB এর সাথে কানেক্ট
mongoose.connect(dbConfig.db, { useNewUrlParser: true, useUnifiedTopology: true })
    .then(() => {
        console.log('MongoDB connection successful');
    })
    .catch(err => {
        console.error('MongoDB connection error: ', err);
    });

এটি MongoDB সার্ভারে কানেক্ট হবে এবং যদি কানেকশন সফল হয়, তবে একটি কনফার্মেশন মেসেজ দেখাবে।


৩. Mongoose Schema এবং মডেল তৈরি করা

MongoDB তে ডেটা সংরক্ষণ করতে হলে আপনাকে একটি Schema এবং তার সাথে সম্পর্কিত Model তৈরি করতে হবে। Mongoose এর মাধ্যমে আপনি ডেটা স্ট্রাকচার (Schema) এবং ডেটার সাথে কাজ (Model) সহজেই পরিচালনা করতে পারবেন।

ধরা যাক, আপনি একটি User নামক মডেল তৈরি করতে চান। তাহলে প্রথমে একটি Schema তৈরি করতে হবে।

user.model.js

'use strict';

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

// User Schema তৈরি করা
var UserSchema = new Schema({
    name: {
        type: String,
        required: true
    },
    email: {
        type: String,
        unique: true,
        required: true
    },
    password: {
        type: String,
        required: true
    }
});

// মডেল তৈরি করা
var User = mongoose.model('User', UserSchema);

module.exports = User;

এখানে UserSchema এ কিছু ফিল্ড (যেমন name, email, password) সংজ্ঞায়িত করা হয়েছে, এবং User মডেলটি MongoDB তে ডেটা সংরক্ষণ করার জন্য তৈরি করা হয়েছে।


৪. Mongoose দিয়ে CRUD অপারেশন

Mongoose ব্যবহার করে MongoDB তে CRUD (Create, Read, Update, Delete) অপারেশনগুলো সহজেই করা যায়। চলুন, একটি সাধারণ User মডেল নিয়ে CRUD অপারেশনগুলো কীভাবে করা হয় তা দেখি।

Create (নতুন ইউজার তৈরি)

var User = require('./models/user.model');

// নতুন ইউজার তৈরি করা
var newUser = new User({
    name: 'John Doe',
    email: 'john.doe@example.com',
    password: 'password123'
});

newUser.save()
    .then(user => {
        console.log('User created:', user);
    })
    .catch(err => {
        console.error('Error creating user:', err);
    });

Read (ইউজারের তথ্য পড়া)

// ইমেইল অনুযায়ী ইউজার খুঁজে বের করা
User.findOne({ email: 'john.doe@example.com' })
    .then(user => {
        console.log('User found:', user);
    })
    .catch(err => {
        console.error('Error finding user:', err);
    });

Update (ইউজারের তথ্য আপডেট করা)

// ইউজারের নাম আপডেট করা
User.findOneAndUpdate({ email: 'john.doe@example.com' }, { name: 'Johnathan Doe' }, { new: true })
    .then(user => {
        console.log('Updated user:', user);
    })
    .catch(err => {
        console.error('Error updating user:', err);
    });

Delete (ইউজার মুছে ফেলা)

// ইউজার মুছে ফেলা
User.deleteOne({ email: 'john.doe@example.com' })
    .then(result => {
        console.log('User deleted:', result);
    })
    .catch(err => {
        console.error('Error deleting user:', err);
    });

৫. Mongoose এর বৈশিষ্ট্যসমূহ

  • Data Validation: Mongoose Schema এর মাধ্যমে ডেটার বৈধতা পরীক্ষা করতে পারে।
  • Middleware: Mongoose মডেলগুলোতে পূর্বনির্ধারিত মডিফাইয়ার, ইভেন্ট ট্রিগার, এবং অন্যান্য প্রক্রিয়া সম্পাদন করতে সক্ষম।
  • Population: MongoDB এর রিলেশনাল ডেটাবেস মডেল অনুযায়ী ডেটার রিলেশন তৈরি করা সম্ভব।

সারাংশ

Mongoose ORM এর সাহায্যে MongoDB এর সাথে ইন্টিগ্রেশন করা অত্যন্ত সহজ এবং কার্যকরী। এটি MongoDB এর সাথে ডেটাবেস অপারেশনগুলো করার জন্য অনেক সুবিধা প্রদান করে, যেমন ডেটা ভ্যালিডেশন, মডেলিং এবং CRUD অপারেশন পরিচালনা। MeanJS অ্যাপ্লিকেশনে Mongoose ব্যবহারের মাধ্যমে আপনি খুব দ্রুত একটি স্কেলেবল এবং মেইন্টেনেবল অ্যাপ্লিকেশন তৈরি করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...