جاوا اسکرپٹ کے ساتھ MongoDB کیسے تیار کریں۔

Jawa Askrp K Sat Mongodb Kys Tyar Kry



ویب ڈویلپرز کے لیے MongoDB استعمال کرنے کا ایک سب سے اہم فائدہ JavaScript کے ساتھ اس کا بہترین انضمام ہے۔ MongoDB ایک مقامی JavaScript ڈرائیور فراہم کرتا ہے جو ڈویلپرز کو جاوا اسکرپٹ کوڈ کا استعمال کرتے ہوئے براہ راست ڈیٹا بیس کے ساتھ بات چیت کرنے کے قابل بناتا ہے۔ اب، مشین پر MongoDB Node.js ڈرائیور کو انسٹال کرنا ضروری ہے اس سے پہلے کہ ہم JavaScript میں MongoDB ایپلیکیشنز بنانا شروع کر سکیں۔ ہمیں اس کے لیے درج ذیل کمانڈ استعمال کرنے کی ضرورت ہے۔

npm اور mongodb

ڈرائیور ہمیں آپ کے JavaScript کوڈ سے MongoDB کے ساتھ بات چیت کرنے اور ڈیٹا بیس سے منسلک کرنے، ڈیٹا داخل کرنے، ڈیٹا سے استفسار کرنے، اور ڈیٹا کو اپ ڈیٹ کرنے جیسے مختلف کام انجام دینے کی اجازت دیتا ہے۔







مثال 1: JavaScript کے ساتھ ایک MongoDB کنکشن تیار کریں۔

جاوا اسکرپٹ کے ساتھ MongoDB سرور کے ساتھ کنکشن قائم کرکے شروع کریں جسے 'npm' ماڈیول کا استعمال کرتے ہوئے پورا کیا جا سکتا ہے جیسا کہ پہلے زیر بحث آیا۔



const { مونگو کلائنٹ } = ضرورت ہے ( 'mongodb' ) ;

const یو آر ایل = 'mongodb:// 127.0.0.1:27017 ' ;
const کلائنٹ = نئی مونگو کلائنٹ ( یو آر ایل ) ;
const dbName = 'MyDB' ;

async فنکشن مرکزی ( ) {
کلائنٹ کا انتظار کریں. جڑیں ( ) ;
تسلی. لاگ ( 'سرور سے کامیابی سے منسلک' ) ;
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('Persons') کا استعمال کرتے ہوئے 'Persons' نامی مجموعے کا حوالہ ملتا ہے۔ مین () فنکشن کی وضاحت کرنے کے بعد، ہم آپریشن کو انجام دینے کے لیے main() کو کال کرتے ہیں۔ اگر main() فنکشن کامیابی سے حل ہو جاتا ہے، تو یہ .then(console.log) کا استعمال کرتے ہوئے نتیجہ پرنٹ کرتا ہے (اس صورت میں، یہ 'ہو گیا' سٹرنگ ہے)۔ اگر پھانسی کے دوران کوئی خرابی ہوتی ہے، تو یہ غلطی کو پکڑتا ہے اور اسے .catch(console.error) کا استعمال کرکے پرنٹ کرتا ہے۔ آخر میں، یہ یقینی بناتا ہے کہ MongoDB کلائنٹ کنکشن .finally(() => client.close()) کا استعمال کرتے ہوئے بند ہے۔

لہذا، پرامپٹ وہ پیغام دکھاتا ہے جہاں JavaScript فائل میں MongoDB کنکشن قائم ہوا ہے:



مثال 2: جاوا اسکرپٹ کے ساتھ ایک MongoDB دستاویز داخل کریں۔

اب چونکہ MongoDB سرور کے ساتھ کنکشن قائم ہو چکا ہے، ہم جاوا اسکرپٹ کے ساتھ MongoDB سوالات استعمال کر سکتے ہیں۔ یہاں، ہم واحد دستاویز داخل کرنے کے لیے داخل کرنے کے سوال کا اطلاق کرتے ہیں۔

const { مونگو کلائنٹ } = ضرورت ہے ( 'mongodb' ) ;

const یو آر ایل = 'mongodb:// 127.0.0.1:27017 ' ;
const کلائنٹ = نئی مونگو کلائنٹ ( یو آر ایل ) ;
const dbName = 'MyDB' ;

async فنکشن مرکزی ( ) {
const ڈی بی = کلائنٹ ڈی بی ( dbName ) ;
const مجموعہ = ڈی بی مجموعہ ( 'صارفین' ) ;
const insertDoc =
جمع کرنے کا انتظار کریں۔ ایک داخل کریں ( { نام : 'اینڈریو' , عمر : 23 } ) ;
تسلی. لاگ ( 'دستاویز داخل کی گئی =' , insertDoc ) ;
واپسی 'ہو گیا' ;
}

مرکزی ( )
. پھر ( تسلی. لاگ )
. پکڑنا ( تسلی. غلطی )
. آخر میں ( ( ) => کلائنٹ بند کریں ( ) ) ;

ہم مین () فنکشن کو ایک غیر مطابقت پذیر فنکشن کے طور پر بیان کرتے ہیں جو ڈیٹا بیس داخل کرنے کا عمل انجام دیتا ہے۔ اس کے اندر، ہم MongoClient مثال اور URL کا استعمال کرتے ہوئے MongoDB سرور سے جڑتے ہیں۔ اس کے بعد، ہم client.db(dbName) کا استعمال کرتے ہوئے مخصوص ڈیٹا بیس (MyDB) تک رسائی حاصل کرتے ہیں اور db.collection ('users') کا استعمال کرتے ہوئے ڈیٹا بیس سے 'صارفین' کا مجموعہ حاصل کرتے ہیں۔

اس کے بعد، ہم collection.insertOne() کا استعمال کرتے ہوئے 'صارفین' کے مجموعہ میں 'اینڈریو' کے طور پر فیلڈ کے نام اور 23 سال کی عمر کے ساتھ ایک دستاویز داخل کرتے ہیں۔ insertOne() طریقہ ایک وعدہ واپس کرتا ہے جو اندراج کے نتیجے کے ساتھ حل ہوتا ہے۔ شامل کردہ دستاویز کو console.log کا استعمال کرتے ہوئے دکھایا گیا ہے۔ آخر میں، ہم MongoDB کلائنٹ کنکشن بند کر دیتے ہیں۔

دستاویز جو MongoDB ڈیٹا بیس کلیکشن میں داخل کی گئی ہے کامیابی کے ساتھ درج کی گئی ہے جیسا کہ درج ذیل آؤٹ پٹ میں دکھایا گیا ہے۔

مثال 3: جاوا اسکرپٹ کے ساتھ ایک MongoDB دستاویز تلاش کریں۔

اسی طرح، ہم جاوا اسکرپٹ کے ساتھ MongoDB کی 'تلاش کریں' کے استفسار کو لاگو کر سکتے ہیں تاکہ پہلے کی مثال میں بنائے گئے مجموعہ سے دستاویز تلاش کریں۔

const { مونگو کلائنٹ } = ضرورت ہے ( 'mongodb' ) ;

const یو آر ایل = 'mongodb:// 127.0.0.1:27017 ' ;
const کلائنٹ = نئی مونگو کلائنٹ ( یو آر ایل ) ;
const dbName = 'MyDB' ;

async فنکشن مرکزی ( ) {
const ڈی بی = کلائنٹ ڈی بی ( dbName ) ;
const مجموعہ = ڈی بی مجموعہ ( 'صارفین' ) ;
const تلاش کریں = { نام : 'اینڈریو' } ;
const ڈاک تلاش کریں۔ = جمع کرنے کا انتظار کریں۔ مل ( تلاش کریں ) . ٹو اررے ( ) ;
تسلی. لاگ ( 'دستاویز =' ، ڈاک تلاش کریں۔ ) ;
}

مرکزی ( )
. پھر ( تسلی. لاگ )
. پکڑنا ( تسلی. غلطی )
. آخر میں ( ( ) => کلائنٹ بند کریں ( ) ) ;

ہم مرکزی فنکشن سے مظاہرے کے ساتھ شروع کرتے ہیں جہاں ہم تخلیق کردہ MongoClient مثال اور مخصوص URL کا استعمال کرتے ہوئے پہلے MongoDB سرور سے جڑتے ہیں۔ پھر، ہم client.db(dbName) کا استعمال کرتے ہوئے MyDB ڈیٹا بیس تک رسائی حاصل کرتے ہیں جہاں dbName پہلے بیان کردہ ڈیٹا بیس کا نام ہے۔

اگلا، ہمیں db.collection('users') کا استعمال کرتے ہوئے ڈیٹا بیس سے 'صارفین' کے مجموعہ کا حوالہ ملتا ہے۔ 'findQuery' کے نام سے ایک استفسار آبجیکٹ بنایا گیا ہے جو اس بات کی وضاحت کرتا ہے کہ بازیافت کی جانے والی دستاویزات کا نام فیلڈ 'اینڈریو' کے برابر ہونا چاہئے۔ اس کے بعد، ہم collection.find(findQuery) کا استعمال کرتے ہوئے 'صارفین' کے مجموعہ پر ایک 'تلاش کریں' استفسار کرتے ہیں جو مماثل دستاویزات پر کرسر لوٹاتا ہے۔

'await' کلیدی لفظ collection.find() سے پہلے استعمال کیا جاتا ہے تاکہ یہ یقینی بنایا جا سکے کہ نتیجہ آگے بڑھنے سے پہلے حل ہو گیا ہے۔ فائنڈ آپریشن کا نتیجہ toArray() کا استعمال کرتے ہوئے دستاویزات کی ایک صف میں تبدیل ہو جاتا ہے، اور ملنے والی دستاویزات کو 'findDoc' متغیر میں محفوظ کیا جاتا ہے۔ اس کے بعد دستاویزات کو console.log کا استعمال کرتے ہوئے کنسول میں لاگ ان کیا جاتا ہے۔

نتیجے کے طور پر، MongoDB مجموعہ کی پائی گئی دستاویز عملدرآمد پر ظاہر ہوتی ہے:

مثال 4: جاوا اسکرپٹ کے ساتھ ایک MongoDB دستاویز کو اپ ڈیٹ کریں۔

اگلا، ہم MongoDB مجموعہ کی مخصوص دستاویز کو اپ ڈیٹ کرنے کے لیے JavaScript میں 'اپ ڈیٹ' آپریشن کرتے ہیں۔

const { مونگو کلائنٹ } = ضرورت ہے ( 'mongodb' ) ;

const یو آر ایل = 'mongodb:// 127.0.0.1:27017 ' ;
const کلائنٹ = نئی مونگو کلائنٹ ( یو آر ایل ) ;
const dbName = 'MyDB' ;

async فنکشن مرکزی ( ) {
const ڈی بی = کلائنٹ ڈی بی ( dbName ) ;
const مجموعہ = ڈی بی مجموعہ ( 'صارفین' ) ;
const updateQuery = { نام : 'اینڈریو' } ;
const اپ ڈیٹ نام = { $سیٹ : { نام : 'خود' } } ;
const اپ ڈیٹ نتیجہ = جمع کرنے کا انتظار کریں۔ اپ ڈیٹ ایک ( updateQuery ، اپ ڈیٹ نام ) ;
تسلی. لاگ ( 'اپ ڈیٹ شدہ دستاویز =' ، اپ ڈیٹ نتیجہ ) ;
واپسی 'ہو گیا' ;
}

مرکزی ( )
. پھر ( تسلی. لاگ )
. پکڑنا ( تسلی. غلطی )
. آخر میں ( ( ) => کلائنٹ بند کریں ( ) ) ;

'صارفین' کے مجموعہ میں کسی دستاویز کو اپ ڈیٹ کرنے کے لیے، ہم مین() فنکشن کو استعمال کرتے ہیں۔ اس کے بعد ہم 'Andrew' کے برابر نام والے فیلڈ کے ساتھ دستاویز کو تلاش کرنے کے لیے { name: 'Andrew' } کا استعمال کرتے ہوئے ایک 'اپ ڈیٹ' استفسار تیار کرتے ہیں۔ اس کے بعد، ہم نے مماثل دستاویز کے نام کی فیلڈ کو {$set: { name: 'Sam' } } کا استعمال کرتے ہوئے 'Sam' پر سیٹ کیا۔

ہم collection.updateOne(updateQuery، updateName) کا استعمال کرتے ہوئے اپ ڈیٹ کو انجام دینے کے لیے 'اپ ڈیٹ' استفسار اور 'اپ ڈیٹ' آپریشن کی وضاحت کرتے ہیں۔ UpdateOne() طریقہ پہلی دستاویز کو اپ ڈیٹ کرتا ہے جو 'اپ ڈیٹ' کے استفسار سے میل کھاتا ہے اور ایک ایسی چیز واپس کرتا ہے جو اپ ڈیٹ کے نتیجے کی نمائندگی کرتا ہے۔ 'updateResult' متغیر میں اپ ڈیٹ کی کارروائی کا نتیجہ ہوتا ہے۔

آنے والی آؤٹ پٹ اسکرین اپ ڈیٹ کردہ استفسار کے نتائج دکھاتی ہے:

مثال 5: جاوا اسکرپٹ کے ساتھ ایک MongoDB دستاویز کو حذف کریں۔

آخر میں، ہم جاوا اسکرپٹ کے اندر MongoDB سے پچھلی دستاویز کو حذف کرنے کے لیے MongoDB کا ڈیلیٹ طریقہ استعمال کرتے ہیں۔

const { مونگو کلائنٹ } = ضرورت ہے ( 'mongodb' ) ;

const یو آر ایل = 'mongodb:// 127.0.0.1:27017 ' ;
const کلائنٹ = نئی مونگو کلائنٹ ( یو آر ایل ) ;
const dbName = 'MyDB' ;

async فنکشن مرکزی ( ) {
const ڈی بی = کلائنٹ ڈی بی ( dbName ) ;
const مجموعہ = ڈی بی مجموعہ ( 'صارفین' ) ;
const ڈیلیٹ سوال = { نام : 'خود' } ;
const نتیجہ حذف کریں = جمع کرنے کا انتظار کریں۔ حذف کریں ( ڈیلیٹ سوال ) ;
تسلی. لاگ ( 'حذف شدہ دستاویز =' ، نتیجہ حذف کریں ) ;
واپسی 'ہو گیا' ;
}

مرکزی ( )
. پھر ( تسلی. لاگ )
. پکڑنا ( تسلی. غلطی )
. آخر میں ( ( ) => کلائنٹ بند کریں ( ) ) ;

ہم 'deleteQuery' کے نام سے ایک 'delete' استفسار آبجیکٹ بناتے ہیں جو دستاویزات کو حذف کرنے کا معیار بتاتا ہے۔ اس صورت میں، یہ ان دستاویزات کو تلاش کرتا ہے جہاں نام کی فیلڈ 'Sam' کے برابر ہو۔ ڈیلیٹ کے سوال کو تیار کرنے کے بعد، ہم کلیکشن آبجیکٹ کے ڈیلیٹ اوون() طریقہ کا استعمال کرتے ہوئے اصل ڈیلیٹ آپریشن کا اطلاق کرتے ہیں۔

ہم 'deleteQuery' کو 'deleteOne' پر دلیل کے طور پر پاس کرتے ہیں جو استفسار میں مخصوص معیار پر پورا اترنے والی پہلی مماثل دستاویز کو حذف کر دیتا ہے۔ 'deleteResult' متغیر حذف کی کارروائی کا نتیجہ رکھتا ہے۔

مخصوص دستاویز کو 'javascript' فائل کا استعمال کرتے ہوئے MongoDB مجموعہ سے حذف کر دیا جاتا ہے:

نتیجہ

اب ہمارے پاس ایک بنیادی سمجھ ہے کہ MongoDB کو جاوا اسکرپٹ کے ساتھ MongoDB Node.js ڈرائیور کے ذریعے کیسے استعمال کیا جائے۔ ہم نے یہ سب کچھ مختلف Mongo DB آپریشنز کے ساتھ دکھایا، جاوا اسکرپٹ کے ساتھ دستاویز کو حذف کرنے تک۔ یہاں سے، ہم مزید پیچیدہ ایپلی کیشنز بنا سکتے ہیں اور ضرورت کے مطابق MongoDB کو Node.js پروجیکٹس میں ضم کر سکتے ہیں۔