MongoDB তে ডেটাবেস এবং সংগ্রহ (Collection) তৈরি করা খুবই সহজ এবং এটি ডাইনামিকভাবে তৈরি করা যায়। MongoDB তে ডেটাবেস তৈরি করার সময় স্কিমা নির্ধারণের প্রয়োজন নেই এবং এটি স্বয়ংক্রিয়ভাবে ডেটাবেসের সংগ্রহ তৈরি করতে সহায়তা করে। এখানে MongoDB তে ডেটাবেস এবং সংগ্রহ তৈরি করার প্রক্রিয়া ব্যাখ্যা করা হয়েছে।
1. MongoDB তে ডেটাবেস তৈরি
MongoDB তে ডেটাবেস তৈরি করতে use <database_name> কমান্ড ব্যবহার করা হয়। এটি MongoDB তে ডেটাবেসের সাথে কানেক্ট করে এবং ডেটাবেস তৈরি বা নির্বাচন করে।
ডেটাবেস তৈরি করার প্রক্রিয়া
MongoDB Shell (mongosh) চালু করুন
MongoDB Shell (mongosh) চালু করতে:mongoshডেটাবেস নির্বাচন বা তৈরি করুন
MongoDB তে ডেটাবেস তৈরি করতেuseকমান্ড ব্যবহার করুন:use myDatabaseযদি
myDatabaseনামের ডেটাবেস না থাকে, তবে MongoDB এটি নতুন ডেটাবেস হিসেবে তৈরি করবে।ডেটাবেস তালিকা দেখুন
MongoDB তে সমস্ত ডেটাবেস দেখতে:show dbsডেটাবেস তৈরির পর ডেটা ইনসার্ট করুন
MongoDB তে ডেটাবেস তৈরি হওয়ার পর, আপনি সংগ্রহে ডেটা ইনসার্ট করলে ডেটাবেসটি MongoDB তে সংরক্ষিত হবে। উদাহরণস্বরূপ:db.myCollection.insertOne({ name: "John", age: 30 })এই কমান্ডটি
myDatabaseডেটাবেসেmyCollectionনামের সংগ্রহে ডেটা ইনসার্ট করবে এবং ডেটাবেসটি MongoDB তে তৈরি হবে।
2. MongoDB তে সংগ্রহ (Collection) তৈরি
MongoDB তে সংগ্রহ (Collection) তৈরি করার সময়, আপনি সরাসরি ডেটাবেসে ডকুমেন্ট ইনসার্ট করার মাধ্যমে সংগ্রহ তৈরি করতে পারেন। MongoDB স্বয়ংক্রিয়ভাবে যখন প্রথম ডকুমেন্ট ইনসার্ট করা হয়, তখন একটি সংগ্রহ তৈরি হয়ে যায়।
সংগ্রহ তৈরি করার প্রক্রিয়া
ডেটাবেস নির্বাচন করুন
MongoDB তে ডেটাবেস নির্বাচন করুন অথবা একটি নতুন ডেটাবেস তৈরি করুন:use myDatabaseসংগ্রহ তৈরি করুন এবং ডেটা ইনসার্ট করুন
MongoDB তে সংগ্রহ তৈরি এবং ডেটা ইনসার্ট করতে:db.myCollection.insertOne({ name: "Alice", age: 25 })এই কমান্ডটি
myCollectionনামের সংগ্রহ তৈরি করবে এবং এতে একটি ডকুমেন্ট ইনসার্ট করবে।সংগ্রহের তালিকা দেখুন
MongoDB তে ডেটাবেসের সব সংগ্রহ দেখতে:show collectionsসংগ্রহে ডেটা দেখতে
MongoDB তে একটি সংগ্রহে থাকা ডেটা দেখতে:db.myCollection.find()
3. MongoDB তে একটি সংগ্রহে ডকুমেন্ট ইনসার্ট করা
MongoDB তে সংগ্রহে ডেটা ইনসার্ট করার জন্য insertOne() বা insertMany() ফাংশন ব্যবহার করা হয়।
একটি ডকুমেন্ট ইনসার্ট করা
একটি ডকুমেন্ট ইনসার্ট করা:
db.myCollection.insertOne({ name: "Bob", age: 40 })
একাধিক ডকুমেন্ট ইনসার্ট করা
একাধিক ডকুমেন্ট ইনসার্ট করা:
db.myCollection.insertMany([ { name: "Charlie", age: 50 }, { name: "David", age: 60 } ])
4. MongoDB তে ডেটাবেস এবং সংগ্রহ মুছা
MongoDB তে ডেটাবেস এবং সংগ্রহ মুছতে drop() ফাংশন ব্যবহার করা হয়।
ডেটাবেস মুছা
ডেটাবেস মুছতে:
use myDatabase db.dropDatabase()
সংগ্রহ মুছা
সংগ্রহ মুছতে:
db.myCollection.drop()
সারাংশ
MongoDB তে ডেটাবেস এবং সংগ্রহ তৈরি করা খুবই সহজ। MongoDB তে use <database_name> কমান্ড দিয়ে ডেটাবেস তৈরি করা হয়, এবং সংগ্রহ তৈরি করার জন্য ডেটা ইনসার্ট করলে স্বয়ংক্রিয়ভাবে MongoDB সংগ্রহ তৈরি করে। আপনি ডেটাবেসের মধ্যে ডকুমেন্ট ইনসার্ট, আপডেট এবং ডিলিট করতে পারেন, এবং ডেটাবেস বা সংগ্রহ মুছতে drop() ফাংশন ব্যবহার করতে পারেন। MongoDB তে ডেটাবেস এবং সংগ্রহ তৈরি করার প্রক্রিয়া খুবই নমনীয় এবং এটি স্কিমা-লেস ডেটাবেস হওয়ায় খুব সহজে পরিবর্তনশীল ডেটা সংরক্ষণ করা যায়।
MongoDB তে ডেটাবেস তৈরি এবং ম্যানেজমেন্ট একটি সহজ এবং নমনীয় প্রক্রিয়া। MongoDB ব্যবহারকারীকে ডেটা স্কিমা সংজ্ঞায়িত না করেও বিভিন্ন ধরনের ডেটা স্টোর করার সুযোগ দেয়। MongoDB তে ডেটাবেস এবং কালেকশন তৈরি, ডেটা ইনসার্ট, কুয়েরি করা, এবং আপডেট করার জন্য কিছু মৌলিক কমান্ড ব্যবহার করা হয়।
ডেটাবেস তৈরি করা
MongoDB তে ডেটাবেস তৈরি করা খুবই সহজ। আপনাকে শুধু একটি নতুন ডেটাবেস নাম ব্যবহার করতে হবে এবং MongoDB তাকে তৈরি করে নিবে।
ডেটাবেস নির্বাচন করা: MongoDB তে
useকমান্ড দিয়ে একটি নতুন ডেটাবেস তৈরি করা যায়। যদি ডেটাবেস ইতিমধ্যেই না থাকে, তাহলে এটি MongoDB তে তৈরি হয়ে যাবে।use myDatabaseএখানে
myDatabaseহল ডেটাবেসের নাম। এই কমান্ডটি ডেটাবেস তৈরি না হলেও, MongoDB তা স্বয়ংক্রিয়ভাবে তৈরি করে যখন আপনি প্রথমবার তার সাথে কাজ করবেন।ডেটাবেস তালিকা দেখুন:
MongoDB তেshow dbsকমান্ড ব্যবহার করে আপনি সিস্টেমে সমস্ত ডেটাবেস দেখতে পারেন।show dbs
কালেকশন তৈরি করা
MongoDB তে ডেটা কালেকশনে (যেমন টেবিল) সংরক্ষিত হয়। একটি ডেটাবেসে এক বা একাধিক কালেকশন থাকতে পারে। MongoDB তে কালেকশন তৈরি করার জন্য, আপনাকে শুধু ডেটা ইনসার্ট করতে হবে এবং MongoDB সেই কালেকশন তৈরি করবে।
কালেকশন তৈরি করা এবং ডেটা ইনসার্ট করা: MongoDB তে
insertOne()বাinsertMany()কমান্ড ব্যবহার করে একটি নতুন কালেকশনে ডেটা ইনসার্ট করা হয়। যখন আপনি ডেটা ইনসার্ট করবেন, MongoDB স্বয়ংক্রিয়ভাবে কালেকশন তৈরি করবে।উদাহরণ:
db.myCollection.insertOne({ name: "John", age: 30 })এখানে
myCollectionহল কালেকশনের নাম এবং ডেটার মধ্যেnameএবংageহল ফিল্ড।কালেকশন তালিকা দেখা:
show collectionsকমান্ড ব্যবহার করে ডেটাবেসের সমস্ত কালেকশন দেখতে পারেন।show collections
ডেটা কুয়েরি করা
MongoDB তে ডেটা খোঁজার জন্য find() কমান্ড ব্যবহার করা হয়। find() কমান্ডের মাধ্যমে আপনি একটি বা একাধিক ডকুমেন্ট খুঁজতে পারবেন।
একটি ডকুমেন্ট খোঁজা:
db.myCollection.find({ name: "John" })সব ডকুমেন্ট খোঁজা:
db.myCollection.find()কুয়েরি ফিল্টারিং (যেমন বয়সের ভিত্তিতে):
db.myCollection.find({ age: { $gt: 25 } })এখানে
$gtঅপারেটর দিয়ে বয়সের তুলনা করা হচ্ছে, অর্থাৎage > 25।
ডেটা আপডেট করা
MongoDB তে ডেটা আপডেট করতে updateOne(), updateMany(), বা replaceOne() ফাংশন ব্যবহার করা হয়।
একটি ডকুমেন্ট আপডেট করা:
db.myCollection.updateOne( { name: "John" }, { $set: { age: 31 } } )এখানে
updateOne()ফাংশনটিname: "John"থাকা প্রথম ডকুমেন্টের বয়স31এ আপডেট করবে।একাধিক ডকুমেন্ট আপডেট করা:
db.myCollection.updateMany( { age: { $gt: 30 } }, { $set: { status: "Older" } } )এই কমান্ডটি
age > 30এর ভিত্তিতে সমস্ত ডকুমেন্টেরstatusফিল্ড আপডেট করবে।
ডেটা ডিলিট করা
MongoDB তে ডেটা মুছতে deleteOne() বা deleteMany() ফাংশন ব্যবহার করা হয়।
একটি ডকুমেন্ট মুছতে:
db.myCollection.deleteOne({ name: "John" })একাধিক ডকুমেন্ট মুছতে:
db.myCollection.deleteMany({ age: { $lt: 30 } })এখানে
deleteMany()ফাংশনটিage < 30এর ভিত্তিতে সমস্ত ডকুমেন্ট মুছে ফেলবে।
ডেটাবেস ম্যানেজমেন্ট ফিচারসমূহ
MongoDB তে ডেটাবেস ম্যানেজমেন্টের জন্য কিছু গুরুত্বপূর্ণ ফিচার রয়েছে:
- ইনডেক্সিং: MongoDB ইনডেক্স তৈরি করে ডেটার অনুসন্ধান দ্রুত করতে সহায়তা করে।
createIndex()কমান্ড ব্যবহার করে ইনডেক্স তৈরি করা হয়। - অ্যাগ্রিগেশন: MongoDB তে ডেটা বিশ্লেষণ এবং গ্রুপ করার জন্য অ্যাগ্রিগেশন পিপলাইন ব্যবহার করা হয়। এটি ডেটাকে গ্রুপ, ফিল্টার, সোর্ট এবং আরও অনেকভাবে প্রক্রিয়া করতে সক্ষম।
- ব্যাকআপ এবং রিস্টোর: MongoDB তে ডেটাবেসের ব্যাকআপ এবং রিস্টোর করার জন্য
mongodumpএবংmongorestoreকমান্ড ব্যবহার করা হয়।
সারাংশ
MongoDB তে ডেটাবেস এবং কালেকশন তৈরি, ডেটা কুয়েরি, আপডেট, ডিলিট এবং ইনডেক্সিং করা সহজ এবং নমনীয়। MongoDB স্কিমা-লেস ডেটাবেস হওয়ায়, আপনি যেকোনো ধরনের ডেটা স্বাধীনভাবে স্টোর করতে পারেন এবং সহজে অ্যাক্সেস করতে পারেন। MongoDB তে ডেটাবেস এবং ডকুমেন্ট ম্যানেজমেন্টে কমান্ড লাইন ইন্টারফেস ব্যবহার করে দ্রুত কাজ করা সম্ভব।
MongoDB একটি NoSQL ডেটাবেস, যেখানে ডেটা Collection নামক ধারণায় সংরক্ষিত হয়। MongoDB তে কোনও নির্দিষ্ট স্কিমা বা কাঠামো নেই, তাই এটি স্কিমা-লেস ডেটাবেস। তবে, যখন আপনি ডেটা ডিজাইন করেন, তখন কিছু সাধারণ নকশা এবং সেরা অনুশীলন অনুসরণ করা গুরুত্বপূর্ণ, যাতে ডেটাবেসটি কার্যকরী এবং কার্যকরী হয়। MongoDB তে Collection তৈরি করা এবং সঠিক Schema Design গুরুত্বপূর্ণ হতে পারে, বিশেষত যখন আপনি বড় অ্যাপ্লিকেশন তৈরি করছেন।
1. MongoDB Collection তৈরি
MongoDB তে ডেটা সংরক্ষণ করা হয় Collection নামে। Collection হল ডেটাবেসের মধ্যে একটি গোষ্ঠী, যার মধ্যে ডকুমেন্ট থাকে। MongoDB তে কলেকশন তৈরি করার জন্য আপনাকে কোনো CREATE কমান্ড ব্যবহার করতে হয় না; ডেটা ইনসার্ট করার সময় MongoDB স্বয়ংক্রিয়ভাবে কলেকশন তৈরি করে।
Collection তৈরি করার উদাহরণ:
ডেটাবেস নির্বাচন করা: প্রথমে আপনি একটি ডেটাবেস নির্বাচন করবেন। MongoDB তে ডেটাবেস তৈরি করার জন্য
use <database_name>কমান্ড ব্যবহার করা হয়।use myDatabaseCollection তৈরি করা: MongoDB তে কলেকশন তৈরি করার জন্য কোনো সরাসরি কমান্ড দরকার হয় না। আপনি যখন ডেটা ইনসার্ট করবেন, তখন MongoDB নিজেই সেই কলেকশন তৈরি করবে।
db.myCollection.insertOne({ name: "John", age: 30 })এই কমান্ডটি কলেকশন
myCollectionতৈরি করবে (যদি এটি আগে না থাকে), এবং এতে একটি ডকুমেন্ট ইনসার্ট করবে।Collection তালিকা দেখানো: MongoDB তে ডেটাবেসের সমস্ত কলেকশন দেখতে:
show collections
2. Schema Design
MongoDB স্কিমা-লেস ডেটাবেস, যার মানে হল যে আপনি যে ডেটার কাঠামো চান তা ইচ্ছামত পরিবর্তন করতে পারেন। তবে, কিছু সাধারণ নিয়ম এবং ডিজাইন প্যাটার্ন অনুসরণ করা MongoDB তে কার্যকরী ডেটাবেস তৈরি করার জন্য গুরুত্বপূর্ণ।
Schema Design এর মূল ধারণা:
MongoDB তে Schema Design বেশ কিছু দিক অনুসরণ করতে হবে:
ডকুমেন্ট স্টোরেজ: MongoDB তে ডেটা ডকুমেন্ট আকারে সংরক্ষিত থাকে। একটি ডকুমেন্ট হচ্ছে JSON স্ট্রাকচার, যা কীগুচ্ছ (key-value pairs) ধারণ করে। উদাহরণস্বরূপ, একটি ব্যবহারকারীর ডেটা ডকুমেন্ট হিসেবে সংরক্ষণ করা:
{ "name": "John Doe", "email": "john.doe@example.com", "age": 30, "address": { "street": "123 Main St", "city": "New York", "state": "NY" } }ডকুমেন্টের মধ্যে সাব-ডকুমেন্ট: MongoDB তে একটি ডকুমেন্টের মধ্যে অন্য ডকুমেন্ট বা সাব-ডকুমেন্ট রাখতে পারেন। এটি অনেকটা রিলেশনাল ডেটাবেসে
JOINএর কাজ করে। এই নকশা সহজতর এবং দ্রুত অ্যাক্সেস প্রদান করে।উদাহরণ:
{ "_id": 1, "name": "Alice", "orders": [ { "order_id": 101, "product": "Laptop", "price": 1000 }, { "order_id": 102, "product": "Phone", "price": 600 } ] }টিপিকাল কলেকশন ডিজাইন: MongoDB তে Collection ডিজাইনের সময় বিভিন্ন ধরণের নকশা এবং প্যাটার্ন অনুসরণ করা যেতে পারে। MongoDB এ সাধারণত দুটি প্রধান ডিজাইন প্যাটার্ন ব্যবহার করা হয়:
- ডকুমেন্ট নরমালাইজেশন (Normalization): যেখানে একাধিক সম্পর্কিত ডেটা আলাদা আলাদা কলেকশনে রাখা হয়। এটি রিলেশনাল ডেটাবেসের মতো কাজ করে। উদাহরণ:
usersএবংordersআলাদা কলেকশনে রাখা। - ডকুমেন্ট ডেনORMALIZATION (Denormalization): যেখানে সম্পর্কিত ডেটা একক ডকুমেন্টে রাখা হয়, যা দ্রুত রিড অপারেশনের জন্য উপকারী। উদাহরণ: একজন ব্যবহারকারীর সমস্ত অর্ডার ডেটা একটিই ডকুমেন্টে সংরক্ষণ করা।
ডেনরমালাইজেশন উদাহরণ:
{ "_id": 1, "name": "Alice", "orders": [ { "order_id": 101, "product": "Laptop", "price": 1000 }, { "order_id": 102, "product": "Phone", "price": 600 } ] }- ডকুমেন্ট নরমালাইজেশন (Normalization): যেখানে একাধিক সম্পর্কিত ডেটা আলাদা আলাদা কলেকশনে রাখা হয়। এটি রিলেশনাল ডেটাবেসের মতো কাজ করে। উদাহরণ:
ইনডেক্সিং: MongoDB তে ডেটা দ্রুত অনুসন্ধানের জন্য ইনডেক্স তৈরি করা হয়। MongoDB তে ডিফল্ট
_idফিল্ডের উপর একটি ইনডেক্স তৈরি থাকে, তবে আপনি আপনার প্রয়োজন অনুযায়ী অন্য ফিল্ডের উপরও ইনডেক্স তৈরি করতে পারেন।উদাহরণ:
db.myCollection.createIndex({ "name": 1 })টেক্সট সার্চ: MongoDB তে টেক্সট সার্চ চালানোর জন্য আপনি বিশেষ টেক্সট ইনডেক্স ব্যবহার করতে পারেন, যা দ্রুত টেক্সট অনুসন্ধান করতে সাহায্য করে।
উদাহরণ:
db.myCollection.createIndex({ "description": "text" }) db.myCollection.find({ $text: { $search: "laptop" } })
3. ডেটাবেস ডিজাইন প্যাটার্ন
MongoDB ডেটাবেস ডিজাইনে দুটি প্রধান প্যাটার্ন আছে:
এম্বেডেড ডকুমেন্ট (Embedded Documents): MongoDB তে, আপনি সম্পর্কিত ডেটা একসাথে রাখতে পারেন। উদাহরণস্বরূপ, একটি ব্লগ পোস্টের সাথে তার মন্তব্যগুলো একসাথে একটি ডকুমেন্টে রাখা যেতে পারে।
{ "_id": 1, "title": "MongoDB Tutorial", "comments": [ { "user": "John", "comment": "Great post!", "date": "2024-11-10" }, { "user": "Alice", "comment": "Thanks for the explanation!", "date": "2024-11-11" } ] }রেফারেন্সিং (Referencing): ডেটা পৃথক কলেকশনে রাখা হয় এবং একটি ডকুমেন্ট অন্য ডকুমেন্টের ID ব্যবহার করে তার সাথে সম্পর্কিত হয়। এটি বড় ডেটাসেট এবং নির্দিষ্ট সম্পর্কের ক্ষেত্রে উপকারী।
{ "_id": 1, "name": "John Doe", "address_id": 12345 } // Separate collection for addresses { "_id": 12345, "street": "123 Main St", "city": "New York", "state": "NY" }
সারাংশ
MongoDB তে ডেটা সংরক্ষণের জন্য Collection তৈরি করা হয় এবং ডেটার কাঠামো (Schema) যথাযথভাবে ডিজাইন করা গুরুত্বপূর্ণ। MongoDB তে স্কিমা-লেস ডেটাবেস মডেল থাকলেও, সঠিক ডিজাইন প্যাটার্ন এবং ডেটার গঠন ভাল পারফরম্যান্স নিশ্চিত করে। ডকুমেন্ট-ভিত্তিক ডিজাইন MongoDB ডেটাবেসে সম্পর্কিত ডেটা সহজে সংরক্ষণ, রিড এবং প্রসেস করতে সাহায্য করে। MongoDB তে ডেনরমালাইজেশন এবং ইনডেক্সিং ডেটার পারফরম্যান্স উন্নত করে এবং দ্রুত অনুসন্ধান করতে সহায়তা করে।
MongoDB তে Insert, Update, এবং Delete অপারেশন ডেটাবেসের ডকুমেন্টের সাথে কাজ করার জন্য ব্যবহৃত হয়। MongoDB এর ডকুমেন্ট-ভিত্তিক মডেল এটি সহজ এবং নমনীয় করে তোলে। এখানে MongoDB তে এই অপারেশনগুলো কিভাবে করা হয়, তা বিস্তারিতভাবে আলোচনা করা হয়েছে।
1. Insert অপারেশন
MongoDB তে ডেটা ইনসার্ট করার জন্য insertOne() বা insertMany() ফাংশন ব্যবহার করা হয়। insertOne() একটি ডকুমেন্ট ইনসার্ট করে, আর insertMany() একাধিক ডকুমেন্ট ইনসার্ট করতে ব্যবহৃত হয়।
insertOne()
একটি ডকুমেন্ট ইনসার্ট করার জন্য insertOne() ব্যবহার করা হয়:
db.collectionName.insertOne({ name: "John", age: 30, city: "New York" })
উপরে দেওয়া উদাহরণে, collectionName হলো আপনার কালেকশন এর নাম এবং { name: "John", age: 30, city: "New York" } একটি নতুন ডকুমেন্ট, যা ইনসার্ট করা হচ্ছে।
insertMany()
একাধিক ডকুমেন্ট ইনসার্ট করার জন্য insertMany() ব্যবহার করা হয়:
db.collectionName.insertMany([
{ name: "Alice", age: 25, city: "Los Angeles" },
{ name: "Bob", age: 27, city: "Chicago" }
])
এখানে দুটি ডকুমেন্ট একসাথে ইনসার্ট করা হচ্ছে।
2. Update অপারেশন
MongoDB তে ডেটা আপডেট করার জন্য updateOne(), updateMany(), এবং replaceOne() ফাংশন ব্যবহৃত হয়। এই ফাংশনগুলো ডকুমেন্টের মান পরিবর্তন করতে সাহায্য করে।
updateOne()
একটি ডকুমেন্ট আপডেট করার জন্য updateOne() ব্যবহার করা হয়। এটি প্রথম মেলা ডকুমেন্টটি আপডেট করে:
db.collectionName.updateOne(
{ name: "John" }, // কন্ডিশন
{ $set: { age: 31 } } // আপডেট তথ্য
)
এখানে, name: "John" কন্ডিশন মেলে এমন প্রথম ডকুমেন্টটি আপডেট করা হবে এবং তার age ফিল্ড 31 এ আপডেট হবে।
updateMany()
একাধিক ডকুমেন্ট আপডেট করার জন্য updateMany() ব্যবহার করা হয়:
db.collectionName.updateMany(
{ city: "New York" }, // কন্ডিশন
{ $set: { city: "Boston" } } // আপডেট তথ্য
)
এখানে, সকল ডকুমেন্টের city ফিল্ড যাদের মান "New York" রয়েছে, তা "Boston" এ পরিবর্তিত হবে।
replaceOne()
replaceOne() একটি ডকুমেন্টের সমস্ত কন্টেন্ট রিপ্লেস করে। এটি সম্পূর্ণ নতুন ডকুমেন্টের সাথে পুরানো ডকুমেন্টটি প্রতিস্থাপন করে:
db.collectionName.replaceOne(
{ name: "John" }, // কন্ডিশন
{ name: "John", age: 32, city: "Miami" } // নতুন ডকুমেন্ট
)
এখানে, "John" নামের ডকুমেন্টটি সম্পূর্ণ নতুন ডকুমেন্টের সাথে প্রতিস্থাপিত হবে।
3. Delete অপারেশন
MongoDB তে ডেটা মুছতে deleteOne() এবং deleteMany() ফাংশন ব্যবহার করা হয়।
deleteOne()
একটি ডকুমেন্ট মুছতে deleteOne() ব্যবহার করা হয়। এটি প্রথম মেলা ডকুমেন্টটি মুছে ফেলবে:
db.collectionName.deleteOne({ name: "John" })
এখানে, "John" নামের প্রথম ডকুমেন্টটি মুছে ফেলা হবে।
deleteMany()
একাধিক ডকুমেন্ট মুছতে deleteMany() ব্যবহার করা হয়:
db.collectionName.deleteMany({ city: "New York" })
এখানে, সকল ডকুমেন্ট যেগুলোর city "New York" রয়েছে, সেগুলি মুছে ফেলা হবে।
সারাংশ
MongoDB তে Insert, Update, এবং Delete অপারেশন ডেটাবেসের ডকুমেন্টের সাথে বিভিন্ন কার্যক্রম সম্পাদন করতে ব্যবহৃত হয়। insertOne() এবং insertMany() ডকুমেন্ট ইনসার্ট করতে সাহায্য করে, updateOne() এবং updateMany() ডকুমেন্ট আপডেট করার জন্য ব্যবহৃত হয়, এবং deleteOne() ও deleteMany() ডকুমেন্ট মুছতে ব্যবহৃত হয়। MongoDB এর এই অপারেশনগুলো ডেটা ম্যানিপুলেশনের জন্য একটি নমনীয় এবং শক্তিশালী পদ্ধতি প্রদান করে।
MongoDB ডকুমেন্ট-ভিত্তিক ডেটাবেস হওয়ায়, ডেটা ডকুমেন্ট আকারে সংরক্ষিত থাকে এবং সেগুলি পরিচালনার জন্য বেশ কিছু কমান্ড সরবরাহ করা হয়। MongoDB তে ডকুমেন্ট ইনসার্ট এবং আপডেট করার জন্য insertMany এবং updateMany এর মতো অপারেশন ব্যবহার করা হয়। এগুলি ব্যবহার করে আপনি একাধিক ডকুমেন্ট ইনসার্ট বা আপডেট করতে পারেন।
1. InsertMany (একাধিক ডকুমেন্ট ইনসার্ট করা)
MongoDB তে একাধিক ডকুমেন্ট একসাথে ইনসার্ট করতে insertMany() ফাংশন ব্যবহার করা হয়। এটি একটি কালেকশনে একাধিক ডকুমেন্ট যোগ করতে সহায়তা করে।
Syntax:
db.collection.insertMany([<document1>, <document2>, ...])
উদাহরণ:
একটি কালেকশনে একাধিক ডকুমেন্ট ইনসার্ট করার উদাহরণ:
db.users.insertMany([
{ name: "John", age: 30, city: "New York" },
{ name: "Jane", age: 25, city: "San Francisco" },
{ name: "Alice", age: 28, city: "Chicago" }
])
এই কমান্ডটি users কালেকশনে তিনটি ডকুমেন্ট ইনসার্ট করবে।
insertMany এর বৈশিষ্ট্য:
- একাধিক ডকুমেন্ট ইনসার্ট করার মাধ্যমে পারফরম্যান্স বৃদ্ধি পায়।
- ডকুমেন্টের মধ্যে পৃথক পৃথক কীগুলি থাকতে পারে, MongoDB স্কিমা-লেস হওয়ায় এটি সাপোর্ট করে।
- ইনসার্ট করার সময় যদি কোনো ভুল হয়, তবে পুরো অপারেশনটি ব্যর্থ হয়ে যাবে, তবে আপনি
ordered: falseদিয়ে অর্ডার বিবেচনা না করেও ইনসার্ট করতে পারবেন।
ordered: false এর উদাহরণ:
db.users.insertMany([
{ name: "Bob", age: 35, city: "Seattle" },
{ name: "Charlie", age: 40, city: "Los Angeles" }
], { ordered: false })
এখানে, যদি কোন একটি ডকুমেন্ট ইনসার্ট না হয়, তাহলে বাকি ডকুমেন্টগুলি ইনসার্ট হবে।
2. UpdateMany (একাধিক ডকুমেন্ট আপডেট করা)
MongoDB তে একাধিক ডকুমেন্ট আপডেট করতে updateMany() ফাংশন ব্যবহার করা হয়। এটি একটি নির্দিষ্ট শর্ত অনুযায়ী একাধিক ডকুমেন্ট আপডেট করে।
Syntax:
db.collection.updateMany(
<filter>,
<update>,
<options>
)
- filter: যে ডকুমেন্টগুলো আপডেট হবে, তাদের শর্ত নির্ধারণ করে।
- update: কিভাবে ডকুমেন্ট আপডেট হবে তার নির্দেশনা।
- options: অতিরিক্ত অপশন যেমন
upsert(যদি ডকুমেন্ট না থাকে, তবে নতুন ডকুমেন্ট ইনসার্ট করা হবে)।
উদাহরণ:
যেমন, যদি আপনি age 30 এর কম সকল ব্যবহারকারীর status ফিল্ড আপডেট করতে চান:
db.users.updateMany(
{ age: { $lt: 30 } },
{ $set: { status: "Young" } }
)
এখানে, age 30 এর কম যেসব ব্যবহারকারী আছে, তাদের status ফিল্ডের মান "Young" হবে।
UpdateMany এর বৈশিষ্ট্য:
updateMany()একাধিক ডকুমেন্ট আপডেট করতে ব্যবহৃত হয় এবং এটি কুয়েরির মাধ্যমে নির্ধারিত শর্ত অনুযায়ী ডকুমেন্টগুলো আপডেট করে।updateMany()ফাংশন শুধুমাত্র আপডেট করে, কোনো ডকুমেন্ট না পাওয়া গেলে কিছু পরিবর্তন হয় না।- আপনি
$set,$inc,$pushইত্যাদি অপারেটর ব্যবহার করতে পারেন আপডেট অপারেশন আরও নিয়ন্ত্রিত করার জন্য।
$set অপারেটর উদাহরণ:
db.users.updateMany(
{ city: "New York" },
{ $set: { city: "Los Angeles" } }
)
এখানে, city ফিল্ডের মান "New York" থেকে "Los Angeles" এ আপডেট হবে।
$inc অপারেটর উদাহরণ:
আপনি যদি কাউন্ট বা বয়স বৃদ্ধি করতে চান:
db.users.updateMany(
{ age: { $lt: 35 } },
{ $inc: { age: 1 } }
)
এটি 35 এর নিচে বয়স থাকা সকল ব্যবহারকারীর বয়স 1 বাড়িয়ে দেবে।
সারাংশ
MongoDB তে ডকুমেন্ট পরিচালনার জন্য insertMany এবং updateMany কমান্ড দুটি খুবই গুরুত্বপূর্ণ। insertMany() একাধিক ডকুমেন্ট ইনসার্ট করতে সাহায্য করে, যা বড় ডেটা সন্নিবেশে কার্যকরী। আর updateMany() ফাংশনটি একাধিক ডকুমেন্ট আপডেট করতে ব্যবহৃত হয়, যা নির্দিষ্ট শর্ত অনুসারে ডেটা পরিবর্তন করতে সহায়ক। MongoDB তে এই দুটি অপারেশন ব্যবহারের মাধ্যমে আপনি ডেটাবেসে বৃহৎ পরিসরে কার্যক্রম পরিচালনা করতে সক্ষম হবেন।
Read more