जावास्क्रिप्ट के साथ MongoDB कैसे विकसित करें

Javaskripta Ke Satha Mongodb Kaise Vikasita Karem



वेब डेवलपर्स के लिए MongoDB का उपयोग करने का सबसे महत्वपूर्ण लाभ जावास्क्रिप्ट के साथ इसका उत्कृष्ट एकीकरण है। MongoDB एक मूल जावास्क्रिप्ट ड्राइवर प्रदान करता है जो डेवलपर्स को जावास्क्रिप्ट कोड का उपयोग करके सीधे डेटाबेस के साथ इंटरैक्ट करने में सक्षम बनाता है। अब, जावास्क्रिप्ट में MongoDB एप्लिकेशन बनाना शुरू करने से पहले मशीन पर MongoDB Node.js ड्राइवर स्थापित करना आवश्यक है। इसके लिए हमें निम्नलिखित कमांड का उपयोग करना होगा:

एनपीएम मैं मोंगोडब

ड्राइवर हमें आपके जावास्क्रिप्ट कोड से MongoDB के साथ इंटरैक्ट करने और डेटाबेस से कनेक्ट करने, डेटा डालने, डेटा को क्वेरी करने और डेटा को अपडेट करने जैसे विभिन्न ऑपरेशन करने की अनुमति देता है।







उदाहरण 1: जावास्क्रिप्ट के साथ एक MongoDB कनेक्शन विकसित करें

जावास्क्रिप्ट के साथ MongoDB सर्वर के साथ कनेक्शन स्थापित करके शुरुआत करें जिसे पहले चर्चा के अनुसार 'npm' मॉड्यूल का उपयोग करके पूरा किया जा सकता है।



कॉन्स्ट { मोंगोक्लाइंट } = ज़रूरत होना ( 'मोंगोडब' ) ;

कॉन्स्ट यूआरएल = 'mongodb:// 127.0.0.1:27017 ' ;
कॉन्स्ट ग्राहक = नया मोंगोक्लाइंट ( यूआरएल ) ;
कॉन्स्ट dbनाम = 'माईडीबी' ;

async समारोह मुख्य ( ) {
ग्राहक का इंतजार करें. जोड़ना ( ) ;
सांत्वना देना। लकड़ी का लट्ठा ( 'सर्वर से सफलतापूर्वक कनेक्ट हुआ' ) ;
कॉन्स्ट डाटाबेस = ग्राहक। डाटाबेस ( dbनाम ) ;
कॉन्स्ट संग्रह = डीबी. संग्रह ( 'व्यक्ति' ) ;

वापस करना 'हो गया।' ;
}

मुख्य ( )
. तब ( सांत्वना देना। लकड़ी का लट्ठा )
. पकड़ना ( सांत्वना देना। गलती )
. अंत में ( ( ) => ग्राहक। बंद करना ( ) ) ;

हम पहले अपनी 'फ़ाइल.जेएस' फ़ाइल में 'मोंगोडब' मॉड्यूल से आवश्यक मोंगोक्लाइंट आयात करते हैं। फिर हम MongoDB सर्वर (url) के लिए कनेक्शन URL को परिभाषित करते हैं और निर्दिष्ट URL का उपयोग करके एक नया MongoClient इंस्टेंस बनाते हैं।



उसके बाद, हम कनेक्शन में उपयोग किए जाने वाले MongoDB डेटाबेस (dbName) का नाम निर्दिष्ट करते हैं। इसके बाद, एसिंक्रोनस मेन() फ़ंक्शन MongoDB सर्वर पर मुख्य संचालन को संभालता है। यहां, हम wait client.connect() का उपयोग करके MongoDB सर्वर से कनेक्ट होते हैं। यह एक एसिंक्रोनस ऑपरेशन है, इसलिए कनेक्शन सफलतापूर्वक स्थापित होने तक फ़ंक्शन रुक जाता है। कनेक्शन सफलतापूर्वक बन जाने के बाद हमें प्रॉम्प्ट पर दिखाई देने वाला संदेश देखने को मिलता है। हमें client.db(dbName) का उपयोग करके 'dbName' में निर्दिष्ट नाम के साथ डेटाबेस का संदर्भ मिलता है।





फिर, हमें db.collection('Persons') का उपयोग करके 'व्यक्तियों' नामक संग्रह का संदर्भ मिलता है। मुख्य() फ़ंक्शन को परिभाषित करने के बाद, हम संचालन निष्पादित करने के लिए मुख्य() को कॉल करते हैं। यदि मुख्य() फ़ंक्शन सफलतापूर्वक हल हो जाता है, तो यह .then(console.log) का उपयोग करके परिणाम प्रिंट करता है (इस मामले में, यह 'पूर्ण' स्ट्रिंग है)। यदि निष्पादन के दौरान कोई त्रुटि होती है, तो यह त्रुटि को पकड़ता है और .catch(console.error) का उपयोग करके इसे प्रिंट करता है। अंत में, यह सुनिश्चित करता है कि MongoDB क्लाइंट कनेक्शन .finally(() => client.close()) का उपयोग करके बंद कर दिया गया है।

इसलिए, प्रॉम्प्ट वह संदेश दिखाता है जहां जावास्क्रिप्ट फ़ाइल में MongoDB कनेक्शन स्थापित किया गया है:



उदाहरण 2: जावास्क्रिप्ट के साथ एक MongoDB दस्तावेज़ डालें

अब जब MongoDB सर्वर के साथ कनेक्शन स्थापित हो गया है, तो हम JavaScript के साथ MongoDB क्वेरीज़ का उपयोग कर सकते हैं। यहां, हम एकल दस्तावेज़ सम्मिलित करने के लिए इन्सर्ट क्वेरी लागू करते हैं।

कॉन्स्ट { मोंगोक्लाइंट } = ज़रूरत होना ( 'मोंगोडब' ) ;

कॉन्स्ट यूआरएल = 'mongodb:// 127.0.0.1:27017 ' ;
कॉन्स्ट ग्राहक = नया मोंगोक्लाइंट ( यूआरएल ) ;
कॉन्स्ट dbनाम = 'माईडीबी' ;

async समारोह मुख्य ( ) {
कॉन्स्ट डाटाबेस = ग्राहक। डाटाबेस ( dbनाम ) ;
कॉन्स्ट संग्रह = डीबी. संग्रह ( 'उपयोगकर्ता' ) ;
कॉन्स्ट InsertDoc =
संग्रह की प्रतीक्षा करें. सम्मिलित करेंएक ( { नाम : 'एंड्रयू' , आयु : 23 } ) ;
सांत्वना देना। लकड़ी का लट्ठा ( 'दस्तावेज़ डाला गया =' , InsertDoc ) ;
वापस करना 'हो गया।' ;
}

मुख्य ( )
. तब ( सांत्वना देना। लकड़ी का लट्ठा )
. पकड़ना ( सांत्वना देना। गलती )
. अंत में ( ( ) => ग्राहक। बंद करना ( ) ) ;

हम मुख्य() फ़ंक्शन को एक अतुल्यकालिक फ़ंक्शन के रूप में परिभाषित करते हैं जो डेटाबेस प्रविष्टि ऑपरेशन करता है। इसके अंदर, हम MongoClient इंस्टेंस और URL का उपयोग करके MongoDB सर्वर से जुड़ते हैं। फिर, हम client.db(dbName) का उपयोग करके निर्दिष्ट डेटाबेस (MyDB) तक पहुंचते हैं और db.collection('users') का उपयोग करके डेटाबेस से 'उपयोगकर्ता' संग्रह प्राप्त करते हैं।

उसके बाद, हम Collection.insertOne() का उपयोग करके फ़ील्ड नाम 'एंड्रयू' और उम्र 23 वर्ष के साथ 'उपयोगकर्ता' संग्रह में एक दस्तावेज़ डालते हैं। InsertOne() विधि एक वादा लौटाती है जो प्रविष्टि के परिणाम के साथ हल हो जाती है। जोड़ा गया दस्तावेज़ कंसोल.लॉग का उपयोग करके दिखाया गया है। अंत में, हम MongoDB क्लाइंट कनेक्शन बंद कर देते हैं।

MongoDB डेटाबेस संग्रह में डाला गया दस्तावेज़ सफलतापूर्वक डाला गया है जैसा कि निम्नलिखित आउटपुट में दिखाया गया है:

उदाहरण 3: जावास्क्रिप्ट के साथ एक MongoDB दस्तावेज़ खोजें

इसी तरह, हम पिछले उदाहरण में बनाए गए संग्रह से दस्तावेज़ ढूंढने के लिए जावास्क्रिप्ट के साथ MongoDB की 'खोज' क्वेरी लागू कर सकते हैं।

कॉन्स्ट { मोंगोक्लाइंट } = ज़रूरत होना ( 'मोंगोडब' ) ;

कॉन्स्ट यूआरएल = 'mongodb:// 127.0.0.1:27017 ' ;
कॉन्स्ट ग्राहक = नया मोंगोक्लाइंट ( यूआरएल ) ;
कॉन्स्ट dbनाम = 'माईडीबी' ;

async समारोह मुख्य ( ) {
कॉन्स्ट डाटाबेस = ग्राहक। डाटाबेस ( dbनाम ) ;
कॉन्स्ट संग्रह = डीबी. संग्रह ( 'उपयोगकर्ता' ) ;
कॉन्स्ट खोज क्वेरी = { नाम : 'एंड्रयू' } ;
कॉन्स्ट खोज दस्तावेज़ = संग्रह की प्रतीक्षा करें. खोजो ( खोज क्वेरी ) . सरणी के लिए ( ) ;
सांत्वना देना। लकड़ी का लट्ठा ( 'दस्तावेज़ =' , खोज दस्तावेज़ ) ;
}

मुख्य ( )
. तब ( सांत्वना देना। लकड़ी का लट्ठा )
. पकड़ना ( सांत्वना देना। गलती )
. अंत में ( ( ) => ग्राहक। बंद करना ( ) ) ;

हम मुख्य फ़ंक्शन से प्रदर्शन शुरू करते हैं जहां हम पहले बनाए गए MongoClient इंस्टेंस और निर्दिष्ट URL का उपयोग करके MongoDB सर्वर से जुड़ते हैं। फिर, हम client.db(dbName) का उपयोग करके MyDB डेटाबेस तक पहुंचते हैं जहां dbName पहले से परिभाषित डेटाबेस नाम है।

इसके बाद, हमें db.collection('users') का उपयोग करके डेटाबेस से 'उपयोगकर्ता' संग्रह का संदर्भ मिलता है। 'findQuery' नामक एक क्वेरी ऑब्जेक्ट बनाया गया है जो निर्दिष्ट करता है कि पुनर्प्राप्त किए जाने वाले दस्तावेज़ों में 'एंड्रयू' के बराबर नाम फ़ील्ड होना चाहिए। उसके बाद, हम Collection.find(findQuery) का उपयोग करके 'उपयोगकर्ता' संग्रह पर 'खोज' क्वेरी निष्पादित करते हैं जो मिलान किए गए दस्तावेज़ों पर एक कर्सर लौटाता है।

यह सुनिश्चित करने के लिए कि परिणाम आगे बढ़ने से पहले हल हो गया है, 'प्रतीक्षा करें' कीवर्ड का उपयोग Collection.find() से पहले किया जाता है। खोज ऑपरेशन का परिणाम toArray() का उपयोग करके दस्तावेजों की एक सरणी में परिवर्तित हो जाता है, और पाए गए दस्तावेज़ 'findDoc' चर में संग्रहीत होते हैं। फिर दस्तावेज़ कंसोल.लॉग का उपयोग करके कंसोल में लॉग किए जाते हैं।

परिणामस्वरूप, MongoDB संग्रह का पाया गया दस्तावेज़ निष्पादन पर प्रदर्शित होता है:

उदाहरण 4: MongoDB दस्तावेज़ को जावास्क्रिप्ट के साथ अपडेट करें

इसके बाद, हम MongoDB संग्रह के निर्दिष्ट दस्तावेज़ को अपडेट करने के लिए जावास्क्रिप्ट में 'अपडेट' ऑपरेशन करते हैं।

कॉन्स्ट { मोंगोक्लाइंट } = ज़रूरत होना ( 'मोंगोडब' ) ;

कॉन्स्ट यूआरएल = 'mongodb:// 127.0.0.1:27017 ' ;
कॉन्स्ट ग्राहक = नया मोंगोक्लाइंट ( यूआरएल ) ;
कॉन्स्ट dbनाम = 'माईडीबी' ;

async समारोह मुख्य ( ) {
कॉन्स्ट डाटाबेस = ग्राहक। डाटाबेस ( dbनाम ) ;
कॉन्स्ट संग्रह = डीबी. संग्रह ( 'उपयोगकर्ता' ) ;
कॉन्स्ट अद्यतन क्वेरी = { नाम : 'एंड्रयू' } ;
कॉन्स्ट अद्यतननाम = { $सेट : { नाम : 'वह स्वयं' } } ;
कॉन्स्ट अद्यतन परिणाम = संग्रह की प्रतीक्षा करें. अद्यतनएक ( अद्यतन क्वेरी , अद्यतननाम ) ;
सांत्वना देना। लकड़ी का लट्ठा ( 'अद्यतन दस्तावेज़ =' , अद्यतन परिणाम ) ;
वापस करना 'हो गया' ;
}

मुख्य ( )
. तब ( सांत्वना देना। लकड़ी का लट्ठा )
. पकड़ना ( सांत्वना देना। गलती )
. अंत में ( ( ) => ग्राहक। बंद करना ( ) ) ;

'उपयोगकर्ता' संग्रह में किसी दस्तावेज़ को अद्यतन करने के लिए, हम मुख्य() फ़ंक्शन को लागू करते हैं। फिर हम 'एंड्रयू' के बराबर नाम फ़ील्ड वाले दस्तावेज़ को ढूंढने के लिए {नाम: 'एंड्रयू' } का उपयोग करके एक 'अपडेट' क्वेरी तैयार करते हैं। उसके बाद, हम मिलान किए गए दस्तावेज़ का नाम फ़ील्ड {$set: {name: 'Sam' } } का उपयोग करके 'सैम' पर सेट करते हैं।

हम Collection.updateOne(updateQuery, updateName) का उपयोग करके अपडेट करने के लिए 'अपडेट' क्वेरी और 'अपडेट' ऑपरेशन को परिभाषित करते हैं। अपडेटऑन() विधि पहले दस्तावेज़ को अपडेट करती है जो 'अपडेट' क्वेरी से मेल खाती है और एक ऑब्जेक्ट लौटाती है जो अपडेट के परिणाम का प्रतिनिधित्व करती है। 'updateResult' वेरिएबल में अद्यतन कार्रवाई का परिणाम शामिल है।

आगामी आउटपुट स्क्रीन अद्यतन क्वेरी के परिणाम प्रदर्शित करती है:

उदाहरण 5: जावास्क्रिप्ट के साथ एक MongoDB दस्तावेज़ हटाएं

अंत में, हम जावास्क्रिप्ट के भीतर MongoDB से पिछले दस्तावेज़ को हटाने के लिए MongoDB की डिलीट विधि का उपयोग करते हैं।

कॉन्स्ट { मोंगोक्लाइंट } = ज़रूरत होना ( 'मोंगोडब' ) ;

कॉन्स्ट यूआरएल = 'mongodb:// 127.0.0.1:27017 ' ;
कॉन्स्ट ग्राहक = नया मोंगोक्लाइंट ( यूआरएल ) ;
कॉन्स्ट dbनाम = 'माईडीबी' ;

async समारोह मुख्य ( ) {
कॉन्स्ट डाटाबेस = ग्राहक। डाटाबेस ( dbनाम ) ;
कॉन्स्ट संग्रह = डीबी. संग्रह ( 'उपयोगकर्ता' ) ;
कॉन्स्ट हटाएँQuery = { नाम : 'वह स्वयं' } ;
कॉन्स्ट परिणाम हटाएँ = संग्रह की प्रतीक्षा करें. deleteOne ( हटाएँQuery ) ;
सांत्वना देना। लकड़ी का लट्ठा ( 'हटाया गया दस्तावेज़ =' , परिणाम हटाएँ ) ;
वापस करना 'हो गया' ;
}

मुख्य ( )
. तब ( सांत्वना देना। लकड़ी का लट्ठा )
. पकड़ना ( सांत्वना देना। गलती )
. अंत में ( ( ) => ग्राहक। बंद करना ( ) ) ;

हम 'deleteQuery' नामक एक 'डिलीट' क्वेरी ऑब्जेक्ट बनाते हैं जो हटाए जाने वाले दस्तावेज़ों के लिए मानदंड निर्दिष्ट करता है। इस मामले में, यह उन दस्तावेज़ों की खोज करता है जहां नाम फ़ील्ड 'सैम' के बराबर है। डिलीट क्वेरी तैयार करने के बाद, हम संग्रह ऑब्जेक्ट की deleteOne() विधि का उपयोग करके वास्तविक विलोपन ऑपरेशन लागू करते हैं।

हम 'deleteQuery' को 'deleteOne' के तर्क के रूप में पास करते हैं जो क्वेरी में निर्दिष्ट मानदंडों को पूरा करने वाले पहले मिलान दस्तावेज़ को हटा देता है। 'deleteResult' वैरिएबल डिलीट कार्रवाई का परिणाम रखता है।

निर्दिष्ट दस्तावेज़ को 'जावास्क्रिप्ट' फ़ाइल का उपयोग करके MongoDB संग्रह से हटा दिया गया है:

निष्कर्ष

अब हमें MongoDB Node.js ड्राइवर के माध्यम से जावास्क्रिप्ट के साथ MongoDB का उपयोग करने की बुनियादी समझ हो गई है। हमने जावास्क्रिप्ट के साथ दस्तावेज़ को हटाने से लेकर विभिन्न मोंगो डीबी ऑपरेशनों के साथ यह सब प्रदर्शित किया। यहां से, हम अधिक जटिल एप्लिकेशन बना सकते हैं और आवश्यकतानुसार MongoDB को Node.js परियोजनाओं में एकीकृत कर सकते हैं।