MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB के साथ स्प्रिंग बूट का उपयोग कैसे करें

स्प्रिंग बूट माइक्रोसर्विसेज बनाने के लिए जावा-आधारित ओपन-सोर्स फ्रेमवर्क है, जो डेवलपर्स को स्वतंत्र रूप से सेवाओं को तैनात और विकसित करने की अनुमति देता है। चलने वाली प्रत्येक सेवा की अपनी प्रक्रिया होती है, जिससे व्यावसायिक अनुप्रयोगों का समर्थन करने वाला हल्का मॉडल प्राप्त होता है। माइक्रोसर्विसेज के कई फायदे हैं:सरल मापनीयता, न्यूनतम कॉन्फ़िगरेशन, कम उत्पादन समय, कंटेनर संगतता और आसान विकास।

स्प्रिंग बूट डेवलपर्स को स्टैंड-अलोन और प्रोडक्शन-रेडी स्प्रिंग एप्लिकेशन बनाने के लिए एक अच्छा प्लेटफॉर्म प्रदान करता है जिसे आप अभी चला सकते हैं; इस प्रकार, कोई भी संपूर्ण स्प्रिंग कॉन्फ़िगरेशन सेटअप की आवश्यकता के बिना न्यूनतम कॉन्फ़िगरेशन के साथ आरंभ कर सकता है।

उदाहरण के लिए, बड़ी परियोजनाओं के लिए निर्भरता प्रबंधन को संभालना जटिल है; स्प्रिंग बूट इस प्रकार डेवलपर की सुविधा के लिए निर्भरता का एक सेट प्रदान करके इस कठिनाई को हल करता है। स्प्रिंग बूट एप्लिकेशन एप्लिकेशन के प्रारंभ होने पर सभी बीन्स और पैकेज घोषणाओं को स्कैन करता है; इसके अलावा, स्प्रिंग बूट एप्लिकेशन एनोटेशन में घटक स्कैन, ऑटो-कॉन्फ़िगरेशन और स्प्रिंग बूट कॉन्फ़िगरेशन शामिल हैं।

स्प्रिंग बूट की विशेषताएं

स्प्रिंग-बूट की कुछ मानक विशेषताएं नीचे दी गई हैं:

  1. जब संभव हो यह स्वचालित रूप से स्प्रिंग और तृतीय पक्ष पुस्तकालयों को कॉन्फ़िगर करता है
  2. यह आपके बिल्ड कॉन्फ़िगरेशन को आसान बनाने के लिए सुविचारित 'स्टार्टर' निर्भरता प्रदान करता है
  3. इसकी XML कॉन्फ़िगरेशन की कोई आवश्यकता नहीं है और कोई कोड जनरेशन नहीं है
  4. इसके अलावा, यह बाहरी कॉन्फ़िगरेशन मेट्रिक्स और स्वास्थ्य जांच जैसी उत्पादन-तैयार सुविधाएं प्रदान करता है
  5. इसमें एक एम्बेड टॉमकैट, सीधे अंडरटो, या जेट्टी है; इस प्रकार, WAR फ़ाइलों को परिनियोजित करने की कोई आवश्यकता नहीं है
  6. साथ ही, यह स्टैंड-अलोन स्प्रिंग एप्लिकेशन बनाता है

डेवलपर्स को स्प्रिंग बूट के लाभ

  1. यह उत्पादकता बढ़ाता है
  2. यह वसंत अनुप्रयोगों को विकसित करना और समझना आसान बनाता है
  3. यह समय के विकास को कम करता है।

 स्प्रिंग बूट के लक्ष्य

इसे निम्न के लिए डिज़ाइन किया गया है:

  1. उत्पादन के लिए तैयार स्प्रिंग एप्लिकेशन को अधिक सरल तरीके से विकसित करें
  2. वसंत में जटिल XML कॉन्फ़िगरेशन से बचें
  3. विकास के समय को कम करें और एप्लिकेशन को स्वतंत्र रूप से चलाएं
  4. आवेदन के साथ आरंभ करने का अधिक सरल तरीका प्रदान करें।

स्प्रिंग बूट को इसके द्वारा प्रदान की जाने वाली सुविधाओं और लाभों के कारण अधिक पसंद किया जाता है:

  1. एक शक्तिशाली बैच प्रसंस्करण और REST समापन बिंदुओं के प्रबंधन का प्रावधान
  2. डेटा लेनदेन, जावा बीन्स जे, और एक्सएमएल कॉन्फ़िगरेशन को कॉन्फ़िगर करने के लिए एक अधिक लचीले तरीके का प्रावधान।
  3. ऑफ़र एनोटेशन- स्प्रिंग एप्लिकेशन पर आधारित
  4. निर्भरता प्रबंधन को सरल बनाता है, इसमें एक एम्बेडेड सर्वलेट कंटेनर शामिल है
  5. किसी भी मैन्युअल कॉन्फ़िगरेशन की आवश्यकता नहीं है क्योंकि स्प्रिंग बूट में सब कुछ स्वतः कॉन्फ़िगर किया गया है

MongoDB एक स्रोत-उपलब्ध, क्रॉस-प्लेटफ़ॉर्म, दस्तावेज़-उन्मुख डेटाबेस प्रोग्राम है। यह एक दस्तावेज़ डेटाबेस है जो कार्यक्रमों की उच्च मापनीयता और लचीलापन प्रदान करता है। इसके अलावा, यह उपयोगकर्ताओं को तेजी से पूछताछ और अनुक्रमण प्रदान करता है, जो लंबे समय में इसके प्रदर्शन को बढ़ाता है।

MongoDB को NoSQL डेटाबेस प्रोग्राम के रूप में वर्गीकृत किया गया है और वैकल्पिक और लचीले स्कीमा के साथ JSON जैसे दस्तावेज़ों का उपयोग करता है। यह डेटाबेस MongoDB Inc. द्वारा विकसित किया गया था, जो एक अमेरिकी-आधारित कंपनी है जो स्रोत-उपलब्ध डेटाबेस के लिए व्यावसायिक सहायता विकसित और प्रदान करती है। MongoDB को सर्वर-साइड पब्लिक लाइसेंस (SSPL) के तहत लाइसेंस प्राप्त है।

उदाहरण के लिए चल रहे संस्करण विकास के कारण MongoDB ने अपनी सुविधाओं में निरंतर सुधार किया है;

DATE VERSION फीचर नोट
दिसंबर 2009 1.2 संग्रहीत JavaScript फ़ंक्शन
तेज़ अनुक्रमणिका निर्माण
प्रति संग्रह अधिक अनुक्रमणिका
कॉन्फ़िगर करने योग्य समन्वयन समय
कई छोटी विशेषताएं और सुधार
अगस्त 2010 1.6 मानचित्र/कम करें
प्रतिकृति सेट
उत्पादन के लिए तैयार शार्डिंग
IPv6 के लिए समर्थन
मार्च 2013 2.4 हैशेड इंडेक्स
V8 JavaScript इंजन पर स्विच करें
उन्नत भू-स्थानिक समर्थन
उन्नत टेक्स्ट खोज
सुरक्षा संवर्द्धन
अप्रैल 8, 2014 2.6 क्वेरी-इंजन सुधार
एकत्रीकरण संवर्द्धन
सुरक्षा संवर्द्धन
नया राइट-ऑपरेशन प्रोटोकॉल
पाठ्य-खोज एकीकरण
3 मार्च 2015 3.0 बेहतर व्याख्या कार्यक्षमता
प्लग करने योग्य स्टोरेज इंजन API
MongoDB Ops Manager
वायर्ड टाइगर स्टोरेज इंजन सपोर्ट
SCRAM-SHA-1 प्रमाणीकरण
दिसंबर 8, 2015 3.2 प्रतिकृति चुनाव संवर्द्धन
दस्तावेज़ सत्यापन
वायर्ड टाइगर स्टोरेज इंजन डिफ़ॉल्ट रूप से
सर्वर को प्रतिकृति सेट के रूप में कॉन्फ़िगर करें
V8 से स्पाइडर मंकी में ले जाया गया
दस्तावेज़ सत्यापन
चिंता पढ़ें
29 नवंबर, 2016 3.4 संयोजन, रैखिक पढ़ने योग्य चिंताएं और विचार
जून 2018 4.0 उन्नत लेन-देन
13 जुलाई, 2021 5.0 क्लाइंट-साइड फ़ील्ड-स्तरीय एन्क्रिप्शन
भविष्य-सबूत संस्करण API
समय-श्रृंखला समर्थन
लाइव रीशर्डिंग में ऑब्जेक्ट-शार्ड मैपिंग को बदलना और ऑब्जेक्ट को दूसरे शार्ड में ले जाना शामिल है।

स्प्रिंग बूट की मदद से तेज़ और आसान स्टैंड-अलोन ऐप्स बनाए जा सकते हैं (जैसा कि हम बाद में देखेंगे)। इसके उपयोग में आसानी के परिणामस्वरूप, MongoDB सबसे लोकप्रिय NoSQL डेटाबेस बन गया है। स्प्रिंग बूट और MongoDB को मिलाकर त्वरित, सुरक्षित, भरोसेमंद और न्यूनतम विकास समय की आवश्यकता है।

यह लेख दिखाता है कि स्प्रिंग बूट को MongoDB के साथ संयोजित करने के लिए स्प्रिंग डेटा MongoDB API का उपयोग कैसे करें।

MongoDB के साथ स्प्रिंग बूट का उपयोग कैसे करें

स्प्रिंग बूट एक माइक्रोसर्विस-आधारित वेब फ्रेमवर्क है जो ऑटो-कॉन्फ़िगर है और अंतर्निहित सुरक्षा और डेटाबेस एक्सेस सुविधाएँ प्रदान कर सकता है। इस प्रकार, स्प्रिंग बूट कॉन्फ़िगरेशन परिवर्तन के बिना जल्दी से एक स्टैंड-अलोन एप्लिकेशन बना सकता है। दूसरी ओर, MongoDB सबसे लोकप्रिय NoSQL डेटाबेस है क्योंकि यह आसानी से डेटा को स्टोर और पुनर्प्राप्त कर सकता है। स्प्रिंग बूट और MongoDB के संयोजन से सुरक्षित, तेज़, विश्वसनीय अनुप्रयोगों में न्यूनतम विकास समय की आवश्यकता होती है।

स्प्रिंग बूट त्वरित उत्पादन-तैयार अनुप्रयोग बनाता है। MongoDB और स्प्रिंग बूट Mongo Template क्लास और Mongo रिपॉजिटरी इंटरफ़ेस का उपयोग करके इंटरैक्ट करते हैं।

  • मोंगो टेम्पलेट - यह रेडी-टू-यूज़ एपीआई के एक सेट को लागू करता है। अद्यतन एकत्रीकरण जैसे संचालन के लिए एक अच्छा विकल्प, दूसरों के बीच में; इसके अलावा, Mongo Template कस्टम क्वेरी पर अधिक परिष्कृत नियंत्रण प्रदान करता है।
  • मोंगो रिपोजिटरी दस्तावेज़ देखने और डेटा निर्माण जैसे कई दस्तावेज़ फ़ील्ड से जुड़े बुनियादी प्रश्नों के लिए उपयोग किया जाता है।

स्प्रिंग बूट MongoDB कॉन्फ़िगरेशन दोनों तरीकों का उपयोग करने के लिए कोड की केवल कुछ पंक्तियों की आवश्यकता होती है।

स्प्रिंग बूट MVC (मॉडल-व्यू-कंट्रोलर) फ्रेमवर्क पर आधारित जावा वेब एप्लिकेशन के लिए एक एप्लीकेशन फ्रेमवर्क है। इसका डिपेंडेंसी इंजेक्शन डेटाबेस सुरक्षा, एक्सेस और इनिशियलाइज़ेशन जैसी सुविधाओं को संभालता है, जिससे डेवलपर्स को व्यावसायिक तर्क पर ध्यान केंद्रित करने की अनुमति मिलती है। इसके अलावा, यह स्प्रिंग फ्रेमवर्क के शीर्ष पर बनाया गया है, मुख्य रूप से REST API के लिए और इसके लिए बहुत कम कॉन्फ़िगरेशन की आवश्यकता होती है। इसकी चार परतें होती हैं:

प्रस्तुति परत — MVC फ्रेमवर्क का व्यू पार्ट फ्रंट-एंड को हैंडल करता है।

व्यापार परत वह नियंत्रक है जहां सभी व्यावसायिक तर्क और सत्यापन किए जाते हैं।

दृढ़ता परत — यह परत व्यावसायिक वस्तुओं का डेटाबेस वस्तुओं में अनुवाद करती है।

डेटाबेस परत - वास्तविक सीआरयूडी (बनाएं, पढ़ें, अपडेट करें, हटाएं) संचालन।

MongoDB एक तेज़ डेटाबेस है जो बड़े पैमाने पर संगठित और असंरचित डेटा को संभालने में सक्षम है, जो इसे वेब अनुप्रयोगों के लिए आदर्श बनाता है। MongoDB डेटा को बाइनरी JSON ऑब्जेक्ट के रूप में संग्रहीत करता है, जो डेटा पुनर्प्राप्ति को सरल करता है। स्प्रिंग फ्रेमवर्क में मजबूत कनेक्टर शामिल हैं जो MongoDB के साथ कुशल डेटाबेस संचालन को सक्षम करते हैं।

हम इस स्प्रिंग बूट में MongoDB उदाहरण ट्यूटोरियल के साथ दृढ़ता और डेटाबेस परतों के साथ पूरी तरह से चिंतित हैं। सीआरयूडी संचालन पर जोर देने के लिए हम एक एकीकृत विकास पर्यावरण (आईडीई) के माध्यम से अपने सॉफ्टवेयर को निष्पादित करेंगे। स्प्रिंग बूट और MongoDB को जोड़ने के लिए, हम स्प्रिंग बूट MongoDB कॉन्फ़िगरेशन जोड़ेंगे।

इस उदाहरण में हम क्या बनाएंगे

आइए हम एक काल्पनिक उपयोगकर्ता की किराने की खरीदारी सूची विकसित करें। हम निम्नलिखित प्रक्रियाएं करेंगे:

  1. हम अपने स्प्रिंग एप्लिकेशन में एक आईडी, एक नाम, एक मात्रा और एक श्रेणी के साथ एक किराने की वस्तु प्लेन ओल्ड जावा ऑब्जेक्ट (POJO) को परिभाषित करते हैं।
  2. उसके बाद, हम MongoRepository के सार्वजनिक इंटरफ़ेस के माध्यम से निर्माण, पढ़ने, अपडेट करने और हटाने (CRUD) क्रियाओं का संचालन करते हैं।
  3. आखिरकार, हम MongoTemplate वर्ग का उपयोग करके दस्तावेज़ों को संशोधित करने के लिए एक अलग विधि प्रदर्शित करते हैं।

आवश्यकताएं

हमें चाहिए:

  • क्लस्टर MongoDB एटलस (यदि आपके पास पहले से कोई खाता नहीं है, तो अगले चरण पर जाने से पहले निःशुल्क साइन अप करें)।
  • स्प्रिंग इनिशियलाइज़र
  • जावा 1.8
  • Maven (एक्लिप्स में "सहायता -> फिर नया सॉफ़्टवेयर स्थापित करें" पर जाकर मावेन स्थापित करें)।
  • एक एकीकृत विकास वातावरण (आईडीई) आवश्यक पुस्तकालयों और निर्भरताओं को आयात करेगा। इस परियोजना के चित्रण के लिए ग्रहण का उपयोग किया जाएगा।

शुरू करने के लिए, स्प्रिंग इनिशियलाइज़र का उपयोग करके निम्नलिखित सेटिंग्स के साथ एक स्प्रिंग बूट प्रोजेक्ट बनाएं:

जावा (8) के साथ मावेन प्रोजेक्ट को प्रोग्रामिंग भाषा के रूप में और स्प्रिंग बूट 2.5.3 को संस्करण के रूप में चुनें। इसके अतिरिक्त, स्प्रिंग वेब और स्प्रिंग डेटा MongoDB निर्भरताएँ जोड़ें। स्प्रिंग वेब सभी सामान्य निर्भरता के प्रबंधन को केंद्रीकृत करने के लिए अपाचे टॉमकैट सर्वर, स्प्रिंग एमवीसी और आरईएसटी को आपके एप्लिकेशन में एकीकृत करता है।

हम इस एप्लिकेशन में अपने MongoDB एटलस क्लस्टर से डेटा एक्सेस करने के लिए स्प्रिंग डेटा MongoDB निर्भरता का लाभ उठाते हैं।

प्रोजेक्ट के लिए मेटाडेटा दर्ज करें (जैसा कि ऊपर दिखाया गया है) और JAR विकल्प चुनें। स्प्रिंग इनिशियलाइज़र pom.xml फ़ाइल निर्माण का प्रबंधन करता है जबकि मावेन आवश्यक निर्भरता को pom.xml के माध्यम से डाउनलोड करता है।

यह सेटिंग्स के लिए हमारी तैयारी पूरी करता है। उसके बाद, हम स्प्रिंग बूट प्रोजेक्ट को बूटस्ट्रैप करने के लिए आवश्यक सभी फाइलों को उत्पन्न करने के लिए जनरेट बटन पर क्लिक कर सकते हैं। उसके बाद, ब्राउज़र स्वचालित रूप से एक ज़िप फ़ाइल डाउनलोड करना शुरू कर देगा।

ज़िप फ़ाइल डाउनलोड करने के बाद, प्रोजेक्ट को अनज़िप करें। आईडीई से, प्रोजेक्ट खोलें। आप इस तरह की परियोजना संरचना का एक उदाहरण देख सकते हैं:

जैसा कि हम देख सकते हैं, हमने जो निर्भरताएँ जोड़ी हैं, वे pom.xml फ़ाइल में विरूपण साक्ष्य के रूप में शामिल हैं:

सामग्री के साथ src/main/java उपनिर्देशिका को भरने का समय आ गया है।

MongoDB मॉडल का कार्यान्वयन

POJO या किरानाआइटम वर्ग यहां हमारे मॉडल के रूप में कार्य करता है।

“com.example.mdbspringboot.model” नाम का एक पैकेज बनाएं और उसमें GroceryItem.java क्लास शामिल करें।

एनोटेशन @Document का उपयोग उस संग्रह नाम को निर्दिष्ट करने के लिए किया जाता है जिसका मॉडल उपयोग करेगा। यदि यह पहले से मौजूद नहीं है तो MongoDB संग्रह बनाएगा।

हम इस कोड के लिए एक्लिप्स सोर्स -> जेनरेट गेटर्स एंड सेटर्स विकल्प का उपयोग करके गेटर्स और सेटर्स जेनरेट कर सकते हैं। सबसे पहले, MongoDB दस्तावेज़ की प्राथमिक कुंजी _id निर्दिष्ट करने के लिए @Id एनोटेशन का उपयोग करें। यदि हम कुछ भी निर्दिष्ट नहीं करते हैं, तो दस्तावेज़ बनाए जाने पर MongoDB स्वचालित रूप से एक _id फ़ील्ड उत्पन्न करेगा।

स्प्रिंग बूट में MongoDB API का कार्यान्वयन

रिपॉजिटरी वह जगह है जहां एपीआई लागू की जाती है। यह डेटाबेस और मॉडल के बीच एक सेतु का काम करता है, जो सभी CRUD गतिविधियों तक पहुँच प्रदान करता है।

सभी रिपॉजिटरी फ़ाइलों को शामिल करने के लिए "com.example.mdbspringboot.repository" नाम का एक पैकेज बनाएं।

हम ItemRepository के लिए एक सार्वजनिक इंटरफ़ेस बनाते हैं जो MongoRepository इंटरफ़ेस का विस्तार करता है।

पहला दृष्टिकोण, findItemByName, को एक क्वेरी तर्क की आवश्यकता होती है, जो उस फ़ील्ड को निर्दिष्ट करता है जिस पर क्वेरी को फ़िल्टर किया जाना चाहिए। यह एनोटेशन @Query का उपयोग करके निर्दिष्ट किया गया है। दूसरी तकनीक एक विशिष्ट श्रेणी से संबंधित सभी वस्तुओं को पुनः प्राप्त करने के लिए श्रेणी फ़ील्ड का लाभ उठाती है। हम केवल क्वेरी उत्तर में अनुमानित फ़ील्ड का नाम और संख्या चाहते हैं; इसलिए, हम उन फ़ील्ड्स को 1 पर सेट करते हैं। हम मेथड काउंट () को उसकी वर्तमान स्थिति में फिर से लागू करते हैं।

स्प्रिंग बूट CRUD के साथ MongoDB के उदाहरण

अब हम अपने स्प्रिंग एप्लिकेशन को विकसित करने और विधियों का परीक्षण करने के लिए तैयार हैं।

MongoDB एटलस से लिंक करने के लिए, हम src/main/resources फ़ोल्डर के application.properties फ़ाइल में कनेक्शन स्ट्रिंग को परिभाषित करते हैं। क्लस्टर के कनेक्शन स्ट्रिंग को एटलस यूआई में एक्सेस किया जा सकता है। कनेक्शन-संबंधित कोड शामिल करने के लिए किसी अन्य फ़ाइल की आवश्यकता नहीं है। स्प्रिंग बूट हमारी ओर से डेटाबेस कनेक्शन का प्रबंधन करता है।

इसके अतिरिक्त, हम यहां डेटाबेस नाम निर्दिष्ट करते हैं - यदि यह मौजूद नहीं है तो MongoDB एक बनाएगा।

हम इस स्प्रिंग बूट MongoDB नमूने में नियंत्रक या दृश्य का उपयोग नहीं कर रहे हैं। इसके बजाय, कंसोल पर आउटपुट देखने के लिए, हम एक CommandLineRunner का उपयोग करेंगे।

com.example.mdbspringboot रूट पैकेज में MdbSpringBootApplication.java मुख्य वर्ग बनाएँ:

स्प्रिंग एप्लिकेशन को निष्पादित करने के लिए, हमारी कक्षा MdbSpringBootApplication CommandLineRunner इंटरफ़ेस का उपयोग करती है। ItemRepository Autowired है, जिसका अर्थ है कि स्प्रिंग इसे स्वचालित रूप से खोज लेगा। @SpringBootApplication एनोटेशन का उपयोग एप्लिकेशन संदर्भ को प्रारंभ करने के लिए किया जाता है। इसके अतिरिक्त, हम Mongo रिपॉजिटरी को @EnableMongoRepositories के साथ सक्षम करते हैं। हमारी परियोजना की संरचना अब निम्न के समान होनी चाहिए:

अब, मुख्य वर्ग में रिपोजिटरी संचालन जोड़ें, जिसका उपयोग सीआरयूडी संचालन के लिए किया जाएगा:

एक MongoDB स्प्रिंग बूट ऑपरेशन बनाएं

हम नए दस्तावेज़ बनाने के लिए सेव फ़ंक्शन का उपयोग करेंगे। हम सेव मेथड को SimpleMongoRepository क्लास के माध्यम से एक्सेस कर सकते हैं, जो MongoRepository प्रोटोकॉल का उपयोग करता है। हमारा ItemRepository इंटरफ़ेस MongoRepository के ItemRepository इंटरफ़ेस का विस्तार करता है।

सेव विधि किराना इटैम प्रकार के एक पैरामीटर को स्वीकार करेगी। यह खंड पांच किराने की वस्तुओं (दस्तावेजों) का निर्माण करेगा और फिर उन्हें MongoDB में संग्रहीत करने के लिए सहेजें फ़ंक्शन का उपयोग करें।

स्प्रिंग बूट MongoDB रीड ऑपरेशंस

हम इस एप्लिकेशन में चार अलग-अलग रीड ऑपरेशन कर रहे हैं:

सभी दस्तावेजों (किराने की वस्तुओं) को पुनः प्राप्त करने के लिए findAll () फ़ंक्शन का उपयोग करें।

FindItemByName फ़ंक्शन अपने नाम फ़ील्ड के आधार पर एकल आइटम (दस्तावेज़) देता है।

श्रेणी के अनुसार व्यवस्थित वस्तुओं की सूची प्राप्त करें।

वस्तुओं की कुल संख्या की गणना करें।

हम पठन संचालन के परिणाम को प्रारूपित करने के लिए एक सहायक फ़ंक्शन डिज़ाइन कर सकते हैं:

MongoDB स्प्रिंग बूट अपडेट ऑपरेशन

मान लें कि हम अपना विचार बदलते हैं और अपनी किराने की सूची में "स्नैक्स" शब्द को "स्नैक्स" के रूप में पसंद करते हैं। हमें "स्नैक्स" श्रेणी वाले किसी भी दस्तावेज़ को अपडेट करना होगा। इसे पूरा करने के लिए, हमें पहले "स्नैक्स" श्रेणी से संबंधित सभी पेपर पुनर्प्राप्त करने होंगे, श्रेणी को "मंचीज़" में बदलना होगा और फिर सभी दस्तावेज़ों को सहेजना होगा।

MongoDB स्प्रिंग बूट डिलीट ऑपरेशन

किसी श्रेणी या वस्तु को बदलने के बजाय, हम अपनी सूची से किराने की वस्तु को हटाना चाह सकते हैं। पूर्व-निर्धारित deleteById फ़ंक्शन का उपयोग करके, हम एक विशिष्ट आईडी के साथ किराने की वस्तु को हटा सकते हैं।

हम किरानाItemRepo.deleteAll() का उपयोग कर सकते हैं; सभी वस्तुओं को हटाने के लिए कार्य। संग्रह के सभी दस्तावेज़ों को हटाने से वे नहीं हटेंगे।

सीआरयूडी संचालन को असेंबल करना

उसके बाद, हम CommandLineRunner को लागू करेंगे। पूर्ववर्ती विधियों को लागू करने के लिए, रन () विधि का उपयोग करें:

system.out स्टेटमेंट का उपयोग आउटपुट की उपस्थिति को बढ़ाने के लिए किया जाता है।

जब सॉफ़्टवेयर चलाया जाता है, तो निम्न आउटपुट अपेक्षित होता है:

MongoDB स्प्रिंग बूट का अद्यतन कार्य MongoTemplate के साथ संयोजन में

इसके अतिरिक्त, हम किसी विशिष्ट क्षेत्र पर अद्यतन कार्रवाई करने के लिए MongoTemplate वर्ग का उपयोग कर सकते हैं। इसमें org.springframework.data.mongodb.core.query पैकेज की डिफ़ॉल्ट कार्यक्षमता शामिल है। हमें बड़ी मात्रा में कोड लिखने की आवश्यकता नहीं है, और अद्यतन एक डेटाबेस क्वेरी के साथ पूरा किया जा सकता है। MongoTemplate का उपयोग अधिक जटिल प्रक्रियाओं जैसे कि एकत्रीकरण (इस गाइड के दायरे में नहीं) के लिए भी किया जा सकता है।

MongoTemplate नामक वर्ग का उपयोग करने से पहले एक कस्टम रिपॉजिटरी बनाई जानी चाहिए। यहीं पर अपडेट के लिए क्वेरी तैयार की जाएगी।

मुझे यह दिखाने की अनुमति दें कि एक सुपरमार्केट आइटम की मात्रा को अपडेट करने वाली विधि कैसे बनाई जाए।

एक इंटरफ़ेस बनाएँ CustomItemRepository:

हम इंटरफ़ेस को जितनी आवश्यक हो उतनी विधियों के साथ बढ़ा सकते हैं और CustomItemRepositoryImpl वर्ग में उदाहरण प्रदान कर सकते हैं:

स्प्रिंग ऑब्जेक्ट निर्भरता को आयात करेगा क्योंकि MongoTemplate @Autowired है। इसके अतिरिक्त, @Component एनोटेशन स्प्रिंग को CustomItemRepository इंटरफ़ेस खोजने में सक्षम बनाता है।

निम्नलिखित चरण इस फ़ंक्शन को हमारे मुख्य वर्ग के भीतर से लागू करना है। किराना इटैमरेपो की तरह, हमें अपने कस्टम रेपो को इस प्रकार परिभाषित करना चाहिए:

फिर, मुख्य वर्ग में, निम्न विधि बनाएं जो हमारे customRepo फ़ंक्शन को आमंत्रित करती है:

रन मेथड में निम्न विधि जोड़ें ताकि प्रोग्राम के चलने पर इसे लागू किया जा सके:

आपको निम्नलिखित परिणाम प्राप्त करने चाहिए:

जैसा कि पहले कहा गया था, हम MongoRepository के बजाय एकल डेटाबेस लेनदेन में संशोधन करने में सक्षम थे, जिसके लिए तीन क्रियाओं की आवश्यकता थी:खोज, सेट और सहेजें। MongoTemplate में updateMulti() विधि भी शामिल है, जो आपको एक साथ कई दस्तावेज़ों को अपडेट करने की अनुमति देती है।

निष्कर्ष

हमने इस लेख में प्रदर्शित किया कि स्प्रिंग बूट के साथ MongoDB को एकीकृत करना कितना सरल है। MongoDB एटलस से कनेक्ट करने के लिए किसी अन्य कोड की आवश्यकता नहीं है। MongoDB एटलस किसी भी स्थान से डेटा संग्रहीत और एक्सेस करने के लिए उपयोग में आसान इंटरफ़ेस प्रदान करता है। यदि आपने इस सरल ट्यूटोरियल को पूरा कर लिया है, तो हमारा मानना ​​है कि अब आप समझ गए हैं कि MongoDB के साथ स्प्रिंग बूट का उपयोग कैसे करें। यदि आपको कोई कठिनाई आती है, तो सहायता के लिए टिप्पणी अनुभाग के माध्यम से संपर्क करें। पढ़ने के लिए धन्यवाद।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB जावा ड्राइवर के लिए लॉगिंग कॉन्फ़िगर करें

  2. $group by . के बाद डायनामिक कुंजियाँ

  3. कैसे अजगर में एक पाश में एक मोंगो कर्सर पुनरावृति करने के लिए?

  4. क्या MongoDB में अब का कोई समतुल्य है?

  5. MySQL और PostgreSQL के लिए नया बैकअप प्रबंधन और सुरक्षा सुविधाएँ:ClusterControl रिलीज़ 1.6.2