কিভাবে জাভাস্ক্রিপ্ট দিয়ে MongoDB ডেভেলপ করবেন

Kibhabe Jabhaskripta Diye Mongodb Debhelapa Karabena



ওয়েব ডেভেলপারদের জন্য MongoDB ব্যবহার করার সবচেয়ে উল্লেখযোগ্য সুবিধা হল জাভাস্ক্রিপ্টের সাথে এর চমৎকার একীকরণ। MongoDB একটি নেটিভ জাভাস্ক্রিপ্ট ড্রাইভার প্রদান করে যা ডেভেলপারদের সরাসরি জাভাস্ক্রিপ্ট কোড ব্যবহার করে ডাটাবেসের সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে। এখন, জাভাস্ক্রিপ্টে MongoDB অ্যাপ্লিকেশন তৈরি করা শুরু করার আগে মেশিনে MongoDB Node.js ড্রাইভার ইনস্টল করা প্রয়োজন। এর জন্য আমাদের নিম্নলিখিত কমান্ডটি ব্যবহার করতে হবে:

npm এবং mongodb

ড্রাইভার আমাদেরকে আপনার জাভাস্ক্রিপ্ট কোড থেকে MongoDB এর সাথে ইন্টারঅ্যাক্ট করতে এবং ডাটাবেসের সাথে সংযোগ করা, ডেটা সন্নিবেশ করা, ডেটা অনুসন্ধান করা এবং ডেটা আপডেট করার মতো বিভিন্ন ক্রিয়াকলাপ সম্পাদন করার অনুমতি দেয়।







উদাহরণ 1: জাভাস্ক্রিপ্টের সাথে একটি মঙ্গোডিবি সংযোগ তৈরি করুন

জাভাস্ক্রিপ্টের সাথে MongoDB সার্ভারের সাথে সংযোগ স্থাপন করে শুরু করুন যা পূর্বে আলোচনা করা 'npm' মডিউল ব্যবহার করে সম্পন্ন করা যেতে পারে।



const { মঙ্গোক্লায়েন্ট } = প্রয়োজন ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const ক্লায়েন্ট = নতুন মঙ্গোক্লায়েন্ট ( url ) ;
const dbName = 'MyDB' ;

অ্যাসিঙ্ক ফাংশন প্রধান ( ) {
ক্লায়েন্টের জন্য অপেক্ষা করুন। সংযোগ ( ) ;
কনসোল লগ ( 'সার্ভারের সাথে সফলভাবে সংযুক্ত' ) ;
const ডিবি = ক্লায়েন্ট ডিবি ( dbName ) ;
const সংগ্রহ = ডিবি সংগ্রহ ( 'ব্যক্তি' ) ;

ফিরে 'সম্পন্ন.' ;
}

প্রধান ( )
. তারপর ( কনসোল লগ )
. ধরা ( কনসোল ত্রুটি )
. অবশেষে ( ( ) => ক্লায়েন্ট বন্ধ ( ) ) ;

আমরা প্রথমে আমাদের 'File.js' ফাইলের 'mongodb' মডিউল থেকে প্রয়োজনীয় MongoClient আমদানি করি। তারপরে আমরা MongoDB সার্ভারের (url) সংযোগ URLটি সংজ্ঞায়িত করি এবং নির্দিষ্ট URL ব্যবহার করে একটি নতুন MongoClient উদাহরণ তৈরি করি।



এর পরে, আমরা সংযোগে ব্যবহার করা MongoDB ডাটাবেসের নাম (dbName) নির্দিষ্ট করি। এরপরে, অ্যাসিঙ্ক্রোনাস main() ফাংশন MongoDB সার্ভারে প্রধান ক্রিয়াকলাপ পরিচালনা করে। এখানে, আমরা await client.connect() ব্যবহার করে MongoDB সার্ভারের সাথে সংযোগ করি। এটি একটি অ্যাসিঙ্ক্রোনাস অপারেশন, তাই সংযোগটি সফলভাবে প্রতিষ্ঠিত না হওয়া পর্যন্ত ফাংশনটি বিরতি দেয়। একবার সংযোগটি সফলভাবে হয়ে গেলে আমরা প্রম্পটে প্রদর্শিত বার্তাটি দেখতে পাব। আমরা client.db(dbName) ব্যবহার করে 'dbName' এ নির্দিষ্ট নামের সাথে ডাটাবেসের একটি রেফারেন্স পাই।





তারপর, আমরা db.collection('ব্যক্তি') ব্যবহার করে 'ব্যক্তি' নামের সংগ্রহের একটি রেফারেন্স পাই। main() ফাংশন সংজ্ঞায়িত করার পর, আমরা অপারেশন চালানোর জন্য main() কল করি। যদি main() ফাংশনটি সফলভাবে সমাধান করে, তাহলে এটি .then(console.log) ব্যবহার করে ফলাফলটি প্রিন্ট করে (এই ক্ষেত্রে, এটি 'হয়েছে' স্ট্রিং)। যদি এক্সিকিউশনের সময় কোনো ত্রুটি থাকে, তাহলে এটি ত্রুটিটি ধরবে এবং .catch(console.error) ব্যবহার করে প্রিন্ট করবে। অবশেষে, এটি নিশ্চিত করে যে MongoDB ক্লায়েন্ট সংযোগটি .finally(() => client.close()) ব্যবহার করে বন্ধ করা হয়েছে।

সুতরাং, জাভাস্ক্রিপ্ট ফাইলে মঙ্গোডিবি সংযোগ স্থাপন করা হয়েছে এমন বার্তাটি প্রম্পটটি দেখায়:



উদাহরণ 2: জাভাস্ক্রিপ্টের সাথে একটি মঙ্গোডিবি ডকুমেন্ট সন্নিবেশ করান

এখন যেহেতু MongoDB সার্ভারের সাথে সংযোগ স্থাপন করা হয়েছে, আমরা জাভাস্ক্রিপ্টের সাথে MongoDB প্রশ্নগুলি ব্যবহার করতে পারি। এখানে, আমরা একক নথি সন্নিবেশ করার জন্য সন্নিবেশ ক্যোয়ারী প্রয়োগ করি।

const { মঙ্গোক্লায়েন্ট } = প্রয়োজন ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const ক্লায়েন্ট = নতুন মঙ্গোক্লায়েন্ট ( url ) ;
const dbName = 'MyDB' ;

অ্যাসিঙ্ক ফাংশন প্রধান ( ) {
const ডিবি = ক্লায়েন্ট ডিবি ( dbName ) ;
const সংগ্রহ = ডিবি সংগ্রহ ( 'ব্যবহারকারী' ) ;
const সন্নিবেশ ডক =
সংগ্রহের জন্য অপেক্ষা করুন। insertOne ( { নাম : 'অ্যান্ড্রু' , বয়স : 23 } ) ;
কনসোল লগ ( 'নথি ঢোকানো =' , সন্নিবেশ ডক ) ;
ফিরে 'সম্পন্ন.' ;
}

প্রধান ( )
. তারপর ( কনসোল লগ )
. ধরা ( কনসোল ত্রুটি )
. অবশেষে ( ( ) => ক্লায়েন্ট বন্ধ ( ) ) ;

আমরা main() ফাংশনটিকে একটি অ্যাসিঙ্ক্রোনাস ফাংশন হিসাবে সংজ্ঞায়িত করি যা ডাটাবেস সন্নিবেশ অপারেশন সম্পাদন করে। এর ভিতরে, আমরা MongoClient উদাহরণ এবং URL ব্যবহার করে MongoDB সার্ভারের সাথে সংযোগ করি। তারপর, আমরা client.db(dbName) ব্যবহার করে নির্দিষ্ট ডাটাবেস (MyDB) অ্যাক্সেস করি এবং db.collection('users') ব্যবহার করে ডাটাবেস থেকে 'ব্যবহারকারী' সংগ্রহ পাই।

এর পরে, আমরা collection.insertOne() ব্যবহার করে 'ব্যবহারকারী' সংগ্রহে 'এন্ড্রু' এবং বয়স 23 হিসাবে ক্ষেত্রগুলির নাম সহ একটি নথি সন্নিবেশ করি। insertOne() পদ্ধতি একটি প্রতিশ্রুতি প্রদান করে যা সন্নিবেশের ফলাফলের সাথে সমাধান করে। যোগ করা নথিটি console.log ব্যবহার করে দেখানো হয়েছে। অবশেষে, আমরা MongoDB ক্লায়েন্ট সংযোগ বন্ধ করে দিই।

MongoDB ডাটাবেস সংগ্রহে ঢোকানো ডকুমেন্ট সফলভাবে সন্নিবেশ করা হয়েছে নিম্নলিখিত আউটপুটে দেখানো হয়েছে:

উদাহরণ 3: জাভাস্ক্রিপ্ট সহ একটি মঙ্গোডিবি ডকুমেন্ট খুঁজুন

একইভাবে, আমরা জাভাস্ক্রিপ্টের সাথে MongoDB-এর 'find' কোয়েরি প্রয়োগ করতে পারি যা আগের উদাহরণে তৈরি করা সংগ্রহ থেকে নথিটি খুঁজে পেতে।

const { মঙ্গোক্লায়েন্ট } = প্রয়োজন ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const ক্লায়েন্ট = নতুন মঙ্গোক্লায়েন্ট ( url ) ;
const dbName = 'MyDB' ;

অ্যাসিঙ্ক ফাংশন প্রধান ( ) {
const ডিবি = ক্লায়েন্ট ডিবি ( dbName ) ;
const সংগ্রহ = ডিবি সংগ্রহ ( 'ব্যবহারকারী' ) ;
const সন্ধান করুন = { নাম : 'অ্যান্ড্রু' } ;
const ডক খুঁজুন = সংগ্রহের জন্য অপেক্ষা করুন। অনুসন্ধান ( সন্ধান করুন ) . টু অ্যারে ( ) ;
কনসোল লগ ( 'নথি =' , ডক খুঁজুন ) ;
}

প্রধান ( )
. তারপর ( কনসোল লগ )
. ধরা ( কনসোল ত্রুটি )
. অবশেষে ( ( ) => ক্লায়েন্ট বন্ধ ( ) ) ;

আমরা মূল ফাংশন থেকে প্রদর্শনের সাথে শুরু করি যেখানে আমরা প্রথমে তৈরি করা MongoClient উদাহরণ এবং নির্দিষ্ট URL ব্যবহার করে MongoDB সার্ভারের সাথে সংযোগ করি। তারপর, আমরা client.db(dbName) ব্যবহার করে MyDB ডাটাবেস অ্যাক্সেস করি যেখানে dbName পূর্বে সংজ্ঞায়িত ডাটাবেসের নাম।

এরপরে, আমরা db.collection('users') ব্যবহার করে ডাটাবেস থেকে 'ব্যবহারকারী' সংগ্রহের একটি রেফারেন্স পাই। 'findQuery' নামে একটি ক্যোয়ারী অবজেক্ট তৈরি করা হয়েছে যা নির্দিষ্ট করে যে নথিগুলি পুনরুদ্ধার করা হবে তার নাম ক্ষেত্রটি 'Andrew' এর সমান হওয়া উচিত। এর পরে, আমরা collection.find(findQuery) ব্যবহার করে 'ব্যবহারকারী' সংগ্রহে একটি 'খোঁজ' ক্যোয়ারী করি যা মিলিত নথিতে একটি কার্সার ফিরিয়ে দেয়।

'অপেক্ষা' কীওয়ার্ডটি সংগ্রহের আগে ব্যবহার করা হয়। ফাইন্ড অপারেশনের ফলাফল toArray() ব্যবহার করে নথিগুলির একটি অ্যারেতে রূপান্তরিত হয় এবং পাওয়া নথিগুলি 'findDoc' ভেরিয়েবলে সংরক্ষণ করা হয়। নথিগুলি তারপর console.log ব্যবহার করে কনসোলে লগ ইন করা হয়।

ফলস্বরূপ, মঙ্গোডিবি সংগ্রহের পাওয়া নথিটি সম্পাদনের সময় প্রদর্শিত হয়:

উদাহরণ 4: জাভাস্ক্রিপ্ট দিয়ে একটি MongoDB নথি আপডেট করুন

এর পরে, আমরা MongoDB সংগ্রহের নির্দিষ্ট নথি আপডেট করতে জাভাস্ক্রিপ্টে 'আপডেট' অপারেশনটি সম্পাদন করি।

const { মঙ্গোক্লায়েন্ট } = প্রয়োজন ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const ক্লায়েন্ট = নতুন মঙ্গোক্লায়েন্ট ( url ) ;
const dbName = 'MyDB' ;

অ্যাসিঙ্ক ফাংশন প্রধান ( ) {
const ডিবি = ক্লায়েন্ট ডিবি ( dbName ) ;
const সংগ্রহ = ডিবি সংগ্রহ ( 'ব্যবহারকারী' ) ;
const updateQuery = { নাম : 'অ্যান্ড্রু' } ;
const আপডেট নাম = { $সেট : { নাম : 'নিজেকে' } } ;
const আপডেট ফলাফল = সংগ্রহের জন্য অপেক্ষা করুন। আপডেট ওয়ান ( updateQuery , আপডেট নাম ) ;
কনসোল লগ ( 'আপডেট করা নথি =' , আপডেট ফলাফল ) ;
ফিরে 'সম্পন্ন' ;
}

প্রধান ( )
. তারপর ( কনসোল লগ )
. ধরা ( কনসোল ত্রুটি )
. অবশেষে ( ( ) => ক্লায়েন্ট বন্ধ ( ) ) ;

'ব্যবহারকারী' সংগ্রহে একটি নথি আপডেট করার জন্য, আমরা প্রধান() ফাংশনটি চালু করি। তারপরে আমরা 'Andrew' এর সমান নামের ক্ষেত্র সহ নথিটি খুঁজে পেতে { name: 'Andrew' } ব্যবহার করে একটি 'আপডেট' কোয়েরি প্রস্তুত করি। এর পরে, আমরা { $set: { name: ‘Sam’ } } ব্যবহার করে মিলিত নথির নামের ক্ষেত্রটিকে “Sam”-এ সেট করি।

collection.updateOne(updateQuery, updateName) ব্যবহার করে আপডেট করার জন্য আমরা 'আপডেট' ক্যোয়ারী এবং 'আপডেট' অপারেশন সংজ্ঞায়িত করি। UpdateOne() পদ্ধতিটি প্রথম নথিটি আপডেট করে যা 'আপডেট' ক্যোয়ারির সাথে মেলে এবং একটি বস্তু ফেরত দেয় যা আপডেটের ফলাফলকে উপস্থাপন করে। 'updateResult' ভেরিয়েবলে আপডেট কর্মের ফলাফল রয়েছে।

পরবর্তী আউটপুট স্ক্রীন আপডেট করা প্রশ্নের ফলাফল প্রদর্শন করে:

উদাহরণ 5: জাভাস্ক্রিপ্ট দিয়ে একটি মঙ্গোডিবি নথি মুছুন

অবশেষে, জাভাস্ক্রিপ্টের মধ্যে MongoDB থেকে আগের ডকুমেন্ট মুছে ফেলার জন্য আমরা MongoDB-এর ডিলিট পদ্ধতি ব্যবহার করি।

const { মঙ্গোক্লায়েন্ট } = প্রয়োজন ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const ক্লায়েন্ট = নতুন মঙ্গোক্লায়েন্ট ( url ) ;
const dbName = 'MyDB' ;

অ্যাসিঙ্ক ফাংশন প্রধান ( ) {
const ডিবি = ক্লায়েন্ট ডিবি ( dbName ) ;
const সংগ্রহ = ডিবি সংগ্রহ ( 'ব্যবহারকারী' ) ;
const ডিলিট কোয়েরি = { নাম : 'নিজেকে' } ;
const ডিলিট রেজাল্ট = সংগ্রহের জন্য অপেক্ষা করুন। একটি মুছে ফেলুন ( ডিলিট কোয়েরি ) ;
কনসোল লগ ( 'মোছা নথি =' , ডিলিট রেজাল্ট ) ;
ফিরে 'সম্পন্ন' ;
}

প্রধান ( )
. তারপর ( কনসোল লগ )
. ধরা ( কনসোল ত্রুটি )
. অবশেষে ( ( ) => ক্লায়েন্ট বন্ধ ( ) ) ;

আমরা 'deleteQuery' নামে একটি 'মুছুন' ক্যোয়ারী অবজেক্ট তৈরি করি যা নথিগুলি মুছে ফেলার মানদণ্ড নির্দিষ্ট করে৷ এই ক্ষেত্রে, এটি নথিগুলি অনুসন্ধান করে যেখানে নামের ক্ষেত্রটি 'স্যাম' এর সমান। ডিলিট ক্যোয়ারী প্রস্তুত করার পর, আমরা কালেকশন অবজেক্টের deleteOne() পদ্ধতি ব্যবহার করে প্রকৃত ডিলিট অপারেশন প্রয়োগ করি।

আমরা 'deleteQuery' কে 'deleteOne'-এ একটি যুক্তি হিসাবে পাস করি যা ক্যোয়ারীতে নির্দিষ্ট মানদণ্ড পূরণ করে এমন প্রথম মিলিত নথিটি মুছে দেয়। 'deleteResult' ভেরিয়েবলটি মুছে ফেলার কর্মের ফলাফল ধারণ করে।

নির্দিষ্ট নথিটি 'জাভাস্ক্রিপ্ট' ফাইল ব্যবহার করে MongoDB সংগ্রহ থেকে মুছে ফেলা হয়েছে:

উপসংহার

MongoDB Node.js ড্রাইভারের মাধ্যমে জাভাস্ক্রিপ্টের সাথে MongoDB কীভাবে ব্যবহার করতে হয় সে সম্পর্কে আমাদের এখন একটি মৌলিক ধারণা আছে। আমরা জাভাস্ক্রিপ্টের সাথে নথি মুছে ফেলার সংযোগ থেকে শুরু করে বিভিন্ন মঙ্গো ডিবি ক্রিয়াকলাপের মাধ্যমে এটি প্রদর্শন করেছি। এখান থেকে, আমরা আরও জটিল অ্যাপ্লিকেশন তৈরি করতে পারি এবং প্রয়োজন অনুসারে MongoDB-কে Node.js প্রকল্পগুলিতে সংহত করতে পারি।