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

MongoDB में लुकअप चार्ट पेश करना

यदि आप MongoDB से परिचित नहीं हैं, तो यह एक दस्तावेज़-उन्मुख NoSQL डेटा मॉडल है, जो तालिकाओं और पंक्तियों के बजाय दस्तावेज़ों का उपयोग करता है जैसे आप संबंधपरक तालिकाओं के साथ पाते हैं।

इस प्रकार, इसके अनूठे तरीके से निर्मित होने के कारण, MongoDB महान मापनीयता के साथ उच्च-प्रदर्शन डेटाबेस के लिए सबसे अच्छे डेटा मॉडल में से एक है। बेशक, इसका मतलब यह नहीं है कि इसमें प्रतिस्पर्धा नहीं है, और MongoDB की तुलना अक्सर Firebase या Cassandra से की जाती है।

बेशक, समस्या तब बन जाती है कि किसी डेटास्टोर पर कोई भी क्वेरी अनुरोध जो बड़ा हो, समस्याग्रस्त हो सकता है, और एक क्वेरी गुरु होने के एक निश्चित स्तर की आवश्यकता होती है।

शुक्र है, MongoDB ने एक पूरी नई सुविधा पेश की है जो न केवल कोड क्वेरी को दूर करती है, बल्कि इसे कुछ क्लिकों के समान सरल भी बनाती है। इसका मतलब है कि आपको सामान्य रूप से उसी प्रकार की पूछताछ और शामिल होने के लिए बहुत अधिक समय और परेशानी खर्च करने की आवश्यकता नहीं है।

MongoDB में पारंपरिक क्वेरी करना

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

यही कारण है कि MongoDB क्वेरी लैंग्वेज (MQL) का जन्म हुआ, और इसने प्रोग्रामर्स को जटिल क्वेरी बनाने का एक तरीका प्रदान किया। वास्तव में, MongoDB के पास क्वेरी दस्तावेज़ों और उन्हें चलाने के तरीके के लिए एक संपूर्ण पृष्ठ है। यदि आप इससे परिचित नहीं हैं, तो यह कैसे काम करता है इसकी एक त्वरित चरण-दर-चरण प्रक्रिया है, ताकि आप बाद में नए लुकअप चार्ट से तुलना कर सकें:

सबसे पहले, आपको अपने MongoDB उदाहरण को URI को Mongo शेल में पास करके और फिर --password

का उपयोग करके कनेक्ट करना होगा
mongo.exe mongodb://$[hostlist]/$[database]?authSource=$[authSource] --username $[username]

दूसरा, डेटाबेस पर स्विच करें, इस मामले में, हम एक काल्पनिक 'परीक्षण' डेटाबेस का उपयोग करेंगे

use test

इस बिंदु पर, यदि आवश्यक हो तो आप MongoDB में अधिक डेटा लोड करेंगे। आप इसे insertMany() विधि से कर सकते हैं:

db.inventory.insertMany( [

   { "item": "journal", "qty": 25, "size": { "h": 14, "w": 21, "uom": "cm" }, "status": "A" },

    { "item": "notebook", "qty": 50, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "A" },

    { "item": "paper", "qty": 100, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "D" },

    { "item": "planner", "qty": 75, "size": { "h": 22.85, "w": 30, "uom": "cm" }, "status": "D" },

    { "item": "postcard", "qty": 45, "size": { "h": 10, "w": 15.25, "uom": "cm" }, "status": "A" }

]);

फिर एक विशिष्ट संग्रह में दस्तावेज़ प्राप्त करके वास्तविक क्वेरी आती है:

myCursor = db.inventory.find( { status: "D" } )

आमतौर पर, यह 20 दस्तावेज़ दिखाएगा और एक कर्सर लौटाएगा, लेकिन यदि आप चाहें तो। यदि आपका परिणाम सेट बड़ा है, तो आप परिणामों पर पुनरावृति करना चाहेंगे:

while (myCursor.hasNext()) {

print(tojson(myCursor.next()));

}

आखिरकार, आप यह सुनिश्चित करने के लिए परिणामों की जांच करेंगे कि सब कुछ सही है। नीचे दिए गए उदाहरण में ध्यान रखें, आपके ObjectID मान भिन्न होंगे:

{

 item: "paper",

 qty: 100,

 size: {

   h: 8.5,

   w: 11,

   uom: "in"

   },

 status: "D"

},

{

 item: "planner",

 qty: 75,

 size: {

   h: 22.85,

   w: 30,

   uom: "cm"

   },

 status: "D"

}

लुकअप चार्ट के लाभ

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

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

आखिरकार, सबसे बड़ा लाभ केवल एक डेटाबेस के लिए MQL सीखने और मास्टर करने की आवश्यकता नहीं है, जो बहुत सारे प्रोग्रामर के लिए प्रवेश की बाधा को कम करता है।

लुकअप चार्ट का उपयोग कैसे करें

ठीक है, इसलिए हमने देखा कि आम तौर पर MongoDB पर क्वेरी कैसे काम करती है, और हमें इस बात का अच्छा अंदाजा है कि कैसे लुकअप चार्ट हमें अधिक महत्वपूर्ण जानकारी जल्दी प्राप्त करने में मदद कर सकता है, लेकिन यह वास्तव में कैसे काम करता है?

खैर, चरण अपेक्षाकृत सरल हैं:

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

और बस इतना ही! अब आप नए फ़ील्ड से चार्ट निर्माता में ड्रैग और ड्रॉप कर सकते हैं। ऐरे रिडक्शन मेथड को भी चुनना न भूलें, वरना हो सकता है कि आपको अपने लिए कोई चार्ट दिखाई न दे।

MongoDB चार्ट से खुद को परिचित करना

बेशक, इस बिंदु पर यह उल्लेख करना उचित है कि नई लुकअप सुविधा MongoDB चार्ट का एक हिस्सा है, और MongoDB के पास स्वयं कुछ दिलचस्प लेख हैं जो आपको सॉफ़्टवेयर के साथ अपना असर प्राप्त करने में मदद करते हैं:

  1. अपने चार्ट को पसंद के मुताबिक बनाने के नए तरीके
  2. आदेश डेटा को विज़ुअलाइज़ करना
  3. लुकअप फ़ील्ड जोड़ना (जो लुकअप चार्ट से अलग है)

निष्कर्ष

जैसा कि आप देख सकते हैं, नया लुकअप चार्ट एक अविश्वसनीय रूप से शक्तिशाली उपकरण है जो MongoDB क्वेरी के तकनीकी ज्ञान को व्यापक रूप से कम करता है। बस कुछ आसान चरणों से आप कई संग्रहों से जुड़ी जानकारी के चार्ट को देख सकते हैं, और लगभग तुरंत ही नई जानकारी को समझ सकते हैं।

इसकी तुलना करने के पुराने तरीके से करें जिसमें कोडिंग के कई चरणों की आवश्यकता होती है, साथ ही उस कोड को समझना होता है, और आप यह देखना शुरू करते हैं कि यह नई रिलीज़ कितनी शानदार है।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PyMongo 3 ServerSelectionTimeoutError क्यों दे रहा है?

  2. Mongo DB 4.0 नेवला और NodeJs, एक्सप्रेस के साथ लेनदेन

  3. नेवला सत्यापन त्रुटियों को संभालना - कहाँ और कैसे?

  4. मोंगोडीबी $माह

  5. स्प्रिंग डेटा MongoDB में किसी क्वेरी के लिए केवल विशिष्ट फ़ील्ड लौटाएं