Last chance! 50% off DataCamp Premium
Sale ends in
डिजिटल युग में डेटा उत्पादन की मात्रा तेजी से बढ़ रही है, ऐसे में बड़े पैमाने पर डेटा को स्टोर करने, प्रबंधित करने और विश्लेषित करने के लिए डेटाबेस अत्यंत महत्वपूर्ण हैं। व्यापक रूप से देखें तो दो प्रकार के डेटाबेस होते हैं: SQL और NoSQL डेटाबेस।
SQL डेटाबेस एक संरचित प्रारूप उपयोग करते हैं, और डेटा स्कीमा वाली तालिकाओं में व्यवस्थित होता है। SQL डेटाबेस के विपरीत, NoSQL डेटाबेस अर्द्ध-संरचित और असंरचित डेटा को संग्रहीत करने के लिए लचीला स्कीमा प्रदान करते हैं। वे आज के डिजिटल परिदृश्य में उत्पन्न विशाल डेटा को प्रबंधित करने और उससे लाभ उठाने के लिए आवश्यक आधारभूत संरचना उपलब्ध कराते हैं।
यह व्यापक गाइड NoSQL डेटाबेस की मूल बातें, और उद्योग में उपलब्ध उदाहरणों सहित NoSQL डेटाबेस के विभिन्न प्रकारों को कवर करेगा। इन बुनियादी बातों को समझने के बाद, हम MongoDB—एक लोकप्रिय NoSQL डेटाबेस—में गहराई से जाएंगे और CRUD (Create, Retrieve, Update, and Delete) ऑपरेशंस करना सीखेंगे।
NoSQL का अर्थ है “Not Only SQL” और इसे रिलेशनल डेटाबेस की सीमाओं को दूर करने के लिए बनाया गया था। रिलेशनल डेटाबेस कठोर संरचना का पालन करते हैं, सारणीबद्ध प्रारूप में होते हैं, और डेटा के हेरफेर के लिए SQL (Structured Query Language) का उपयोग करते हैं।
NoSQL डेटाबेस अर्द्ध-संरचित और असंरचित डेटा को संग्रहीत करने के लिए अधिक लचीला दृष्टिकोण प्रदान करते हैं।
NoSQL डेटाबेस का मुख्य लाभ यह है कि वे विभिन्न संरचनाओं वाले बड़े पैमाने पर डेटा को संभालने के लिए उपयुक्त हैं। NoSQL डेटाबेस स्कीमा-रहित होते हैं, जिससे चुस्ती और स्केलेबिलिटी बढ़ती है।
हालाँकि, ये लाभ कुछ समझौतों के साथ आते हैं। इनमें स्थिरता अपेक्षाकृत कमजोर होती है और जटिल क्वेरीज़ के लिए सीमित समर्थन रहता है। इन सीमाओं के बावजूद, इन्हें व्यापक रूप से अपनाया जाता है और ये SQL डेटाबेस का पूरक बनते हैं।
आप SQL और NoSQL डेटाबेस के प्रमुख अंतरों के बारे में अधिक पढ़ सकते हैं और अलग ट्यूटोरियल से यह भी जान सकते हैं कि किस स्थिति में किसे चुनना चाहिए।
विभिन्न उपयोग मामलों की ज़रूरतों को पूरा करने के लिए, NoSQL डेटाबेस डेटा को व्यवस्थित और एक्सेस करने हेतु कई प्रकार के डेटा मॉडल का उपयोग करते हैं। यहाँ NoSQL डेटाबेस के 4 सामान्य प्रकार दिए गए हैं।
विभिन्न प्रकार के डेटाबेस के बारे में और जानने के लिए, हम आपको हमारा ट्यूटोरियल NoSQL Databases: What Every Data Scientist Needs to Know देखने के लिए प्रोत्साहित करते हैं।
यह समझने के बाद कि NoSQL क्या है और NoSQL डेटाबेस के प्रकार कौन-से हैं, अब NoSQL डेटाबेस के साथ हाथों-हाथ अभ्यास करने का समय है।
कवर्ड अवधारणाओं को समझने और उनके साथ प्रयोग करने के लिए किसी व्यावहारिक, वास्तविक दुनिया के उदाहरण में उतरना महत्वपूर्ण है। आइए एक NoSQL ट्यूटोरियल के माध्यम से चलते हैं।
मान लीजिए आप अपना ब्लॉग प्लेटफ़ॉर्म बनाना चाहते हैं। आप ब्लॉग पोस्ट बनाना, टिप्पणियाँ देना और उन्हें अपडेट रखना चाहते हैं। चूँकि आपको पता है कि डेटा असंरचित है, आपको समझ है कि MongoDB जैसा कोई NoSQL डेटाबेस इस उपयोग-केस के लिए उपयुक्त रहेगा।
MongoDB एक ओपन-सोर्स NoSQL डेटाबेस है। यह तालिकाओं के बजाय डेटा को JSON-जैसे दस्तावेज़ों में स्टोर करता है। इससे जटिल संरचनाओं और सम्बन्धों को आसानी से दर्शाना संभव होता है। टेक्स्ट, नंबर या इमेज जैसे विभिन्न डेटा प्रकारों को प्रबंधित करना सरल हो जाता है—जो ब्लॉग में प्रायः होते हैं।
आइए अपने मशीन पर MongoDB सेटअप करने से शुरू करते हैं।
MongoDB इंस्टॉल करना काफी सीधा है। हम इसे आधिकारिक MongoDB वेबसाइट से डाउनलोड और इंस्टॉल कर सकते हैं। अलग-अलग ऑपरेटिंग सिस्टम के लिए निर्देश भिन्न होते हैं, इसलिए उनके आधिकारिक दस्तावेज़ में दिए गए अपने ऑपरेटिंग सिस्टम के लिए इंस्टॉलेशन निर्देश देखें।
इंस्टॉल करने के बाद, MongoDB शुरू करें। बस टर्मिनल खोलें और अपने ऑपरेटिंग सिस्टम के अनुसार नीचे दिए गए कमांड टाइप करें:
// Linux
sudo systemctl start mongod
//Mac OS
brew services start mongodb-community@7.0
हमें नीचे दिखाए अनुसार “Successfully started” जैसा आउटपुट मिलेगा।
![]()
आउटपुट: MongoDB शुरू हो रहा है। (यह और नीचे की सभी छवियाँ लेखक द्वारा)
MongoDB इंस्टॉलेशन में mongosh नामक एक MongoDB शेल शामिल होता है, जिसका उपयोग हम MongoDB डेटाबेस के साथ इंटरैक्ट करने के लिए कर सकते हैं। इसलिए, हमें इसके लिए अलग से कुछ इंस्टॉल करने की ज़रूरत नहीं है।
टर्मिनल में निम्न कमांड चलाकर MongoDB शेल शुरू करें:
mongosh
mongosh कमांड चलाने पर नीचे जैसा आउटपुट मिलेगा, जो आपके डेटाबेस से कनेक्शन का संकेत देता है।

MongoDB शेल शुरू करें।
MongoDB इंस्टॉल होने के साथ, अब हम अपना डेटा मॉडल परिभाषित करने की ओर बढ़ेंगे।
हम “blog” नाम का एक डेटाबेस और “posts” तथा “comments” नाम की दो कलेक्शंस बनाएँगे। “posts” कलेक्शन ब्लॉग प्रविष्टियों को कैप्चर करने के लिए है और “comments” कलेक्शन उन पोस्ट्स पर दी गई टिप्पणियाँ स्टोर करने के लिए।
प्रत्येक पोस्ट दस्तावेज़ में शीर्षक, सामग्री, लेखक और निर्माण तिथि के फ़ील्ड होंगे, जबकि प्रत्येक कमेंट दस्तावेज़ में टिप्पणी की सामग्री, लेखक और संबंधित पोस्ट ID के फ़ील्ड होंगे।
सभी मौजूदा डेटाबेस सूचीबद्ध करने के लिए, शेल पर show dbs चलाएँ। यदि आप पहली बार MongoDB उपयोग कर रहे हैं, तो आपको नीचे जैसा आउटपुट दिखाई देगा।

मौजूदा डेटाबेस सूचीबद्ध करें।
डिफ़ॉल्ट रूप से, हम test डेटाबेस का उपयोग करेंगे। हालाँकि हम test डेटाबेस में हैं, लेकिन जब तक हम उसमें किसी कलेक्शन में दस्तावेज़ नहीं डालते, तब तक डेटाबेस बनता नहीं है।
नया डेटाबेस बनाने के लिए, use <database_name> चलाएँ।
हमारे उदाहरण में, हम अपने डेटाबेस का नाम “blog” रखेंगे। आगे बढ़ें और नया डेटाबेस बनाने के लिए use blog चलाएँ। जैसा कि ऊपर बताया गया है, show dbs कमांड चलाने पर तब तक नया डेटाबेस नहीं दिखेगा जब तक हम उस डेटाबेस में कोई कलेक्शन नहीं बना देते। इसलिए, कलेक्शन बनाने के लिए नीचे दिए गए कमांड चलाएँ।
// create database
use blog
// create collection
db.createCollection("posts")
db.createCollection("comments")
use blog चलाने से डेटाबेस “test” से “blog” में स्विच हो जाएगा।

आउटपुट: डेटाबेस और कलेक्शन बनाना।
कलेक्शंस बनाने के बाद, हम show dbs कमांड से इसे जाँच सकते हैं।

डेटाबेस की सूची।
हमने सफलतापूर्वक डेटाबेस और कलेक्शंस बना लिए हैं।
MongoDB डेटा के साथ इंटरैक्ट करने के लिए चार प्राथमिक CRUD (Create, Read, Update, Delete) ऑपरेशंस का समर्थन करता है:
insertOne() या insertMany() मेथड का उपयोग करके डालते हैं। दस्तावेज़ किसी भी वैध JSON डेटा को समाहित कर सकते हैं, जो लचीले स्कीमा डिज़ाइन की अनुमति देता है।find() मेथड के साथ क्वेरी करते हैं। क्वेरी निर्दिष्ट मापदंडों के आधार पर दस्तावेज़ों को फ़िल्टर करती है और परिणाम लौटाती है।updateOne() या updateMany() में से किसी का उपयोग किया जा सकता है। यह मेथड लचीले डेटा हेरफेर को सक्षम बनाता है।deleteOne() या deleteMany() मेथड का उपयोग करते हैं। हटाने की क्रिया निर्दिष्ट मापदंडों के आधार पर होती है, जैसे किसी विशेष फ़ील्ड मान से मेल खाना।जैसा कि हमने कमांड देखे, आइए उन्हें अपने ब्लॉगिंग उपयोग-केस के माध्यम से अभ्यास में लाएँ।
MongoDB डेटाबेस में दस्तावेज़ डालने के दो तरीके हैं।
insertOne(): यह मेथड एक समय में एक दस्तावेज़ डालता हैinsertMany(): इस मेथड का उपयोग करके हम एक साथ कई दस्तावेज़ डाल सकते हैं।आइए दोनों तरीकों का उपयोग करके डेटाबेस में ब्लॉग पोस्ट जोड़ें। नीचे दिए गए कोड में, हम “posts” कलेक्शन में दस्तावेज़ बनाते हैं। प्रत्येक दस्तावेज़ में शीर्षक, सामग्री, लेखक और निर्माण तिथि है।
// use insertOne() method to insert one document to the "posts" collection
db.posts.insertOne({
title: "Introduction to NoSQL with MongoDB",
content: "MongoDB is a NoSQL database that stores data in JSON format",
author: "Arunn Thevapalan",
createdAt: new Date()
})
// array of blog post documents
var postsData = [
{
title: "Getting Started with MongoDB",
content: "Learn the basics of MongoDB",
author: "Arunn Thevapalan",
createdAt: new Date()
},
{
title: "Advanced MongoDB Techniques",
content: "Explore advanced features of MongoDB",
author: "Jim Murphy",
createdAt: new Date()
}
];
// use insertMany() to insert multiple documents
db.posts.insertMany(postsData);
यह आउटपुट दर्शाता है कि MongoDB सर्वर ने insertOne अनुरोध को सफलतापूर्वक प्राप्त और संसाधित कर लिया है।
आउटपुट: कलेक्शन में एक दस्तावेज़ डालें।
इसी तरह, नीचे दिया आउटपुट insertMany अनुरोध के सफल प्रसंस्करण को दर्शाता है।
आउटपुट: कलेक्शन में कई दस्तावेज़ डालें।
Create ऑपरेशन की समझ के साथ, अब अगला है Read ऑपरेशन।
हम कलेक्शंस से डेटा प्राप्त करने के लिए find() मेथड का उपयोग कर सकते हैं। अपनी “posts” कलेक्शन से ऊपर बनाए ब्लॉग पोस्ट प्राप्त करने के लिए, नीचे दिया कमांड चलाएँ।
db.posts.find()
find मेथड “posts” कलेक्शन में सभी दस्तावेज़ों को प्राप्त करेगा। नीचे दिया आउटपुट उन सभी दस्तावेज़ों को दिखाता है जिन्हें हमने पिछले चरण में डाला था।

आउटपुट: कलेक्शन से दस्तावेज़ प्राप्त करें।
मान लीजिए हम किसी पोस्ट पर कुछ टिप्पणियाँ जोड़ना चाहते हैं, तो हम “comments” कलेक्शन में एक दस्तावेज़ डाल सकते हैं। टिप्पणियाँ ब्लॉग से संबद्ध होती हैं, इसलिए हम पोस्ट ID का संदर्भ रखेंगे।
// use an object id from any of the above entries
var postId = ObjectId("664bfc27f74ef93812b2179e")
// insert one comment
db.comments.insertOne({
postId: postId,
content: "Informative article!",
author: "Anne Smith",
createdAt: new Date()
})
यह आउटपुट दर्शाता है कि MongoDB सर्वर ने अनुरोध प्राप्त कर लिया है और उसे संसाधित किया है।

आउटपुट: एक दस्तावेज़ को दूसरे दस्तावेज़ का संदर्भ देते हुए बनाएँ।
किसी विशिष्ट ब्लॉग पोस्ट से संबद्ध टिप्पणियाँ प्राप्त करने के लिए, find() मेथड को क्वेरी फ़िल्टर के साथ उपयोग किया जा सकता है:
// retrieve the above comment
db.comments.find({postId: postId})
नीचे दिया आउटपुट वह टिप्पणी दिखाता है जिसे हमने पिछले चरण में डाला था।

आउटपुट: find क्वेरी का उपयोग करके दस्तावेज़ खोजें।
एक बार जब उपयोगकर्ता ब्लॉग पोस्ट बना लेते हैं, तो वे बाद में उन्हें अपडेट करना चाहेंगे। तो अगला, देखते हैं कि मौजूदा दस्तावेज़ों को कैसे अपडेट करें।
इन्सर्शन की तरह, अपडेटिंग भी व्यक्तिगत या सामूहिक रूप से की जा सकती है।
updateOne(): यह मेथड एक समय में एक दस्तावेज़ अपडेट करता हैupdateMany(): यह मेथड एक साथ कई दस्तावेज़ अपडेट करता है।ब्लॉग पोस्ट “Introduction to NoSQL with MongoDB” का शीर्षक बदलकर “Absolute Beginner Guide to NoSQL with MongoDB” करने का प्रयास करें।
चूँकि हमें पहले के किसी चरण से पोस्ट ID पता है, शीर्षक बदलने के लिए नीचे दिया कोड चलाएँ। सुनिश्चित करें कि postId को अपने दस्तावेज़ की ID से अपडेट करें।
var postId = ObjectId("664bfc27f74ef93812b2179e");
db.posts.updateOne(
{ _id: postId },
{ $set: { title: "Absolute Beginner guide to NoSQL with MongoDB"} }
);
// verify update
db.posts.find({_id: postId})
आउटपुट दर्शाता है कि अनुरोध सफलतापूर्वक संसाधित हुआ। 1 मिलान करता दस्तावेज़ मिला और 1 दस्तावेज़ संशोधित किया गया।

आउटपुट: दस्तावेज़ अपडेट करना।
किसी ब्लॉग पोस्ट को हटाने के लिए deleteOne() का उपयोग किया जा सकता है। पहले के ऑपरेशंस की तरह, वैकल्पिक रूप से हम deleteMany() का उपयोग करके एक साथ कई दस्तावेज़ हटा सकते हैं।
var postId = ObjectId("664bfc27f74ef93812b2179e");
// delete post
db.posts.deleteOne({ _id: postId });
// verify deletion -> no output
db.posts.find({_id: postId})
आउटपुट सफलतापूर्वक हटाए जाने की पुष्टि करता है।

आउटपुट: कलेक्शन से एक दस्तावेज़ हटाएँ
निस्संदेह, हमने ब्लॉगिंग प्लेटफ़ॉर्म के डिज़ाइन को सरल किया है, जबकि वास्तविकता में यह हाइलाइट्स, लाइक्स, क्लैप्स, रिकमेंडेशंस आदि जैसे कई अन्य ऑपरेशंस के साथ अधिक जटिल होता है। लेकिन ये सभी ऑपरेशंस CRUD ऑपरेशंस में से किसी एक पर आधारित होते हैं और अब हमें इन बुनियादी अवधारणाओं की अच्छी समझ है। अब आपकी बारी है कि इन ऑपरेशंस के आधार पर और अधिक फीचर्स को खोजें और उन पर प्रयोग करें।
इस ट्यूटोरियल ने आपको NoSQL डेटाबेस से परिचित कराया। हमने बुनियादी अवधारणाओं, NoSQL डेटाबेस की परिभाषा, वे रिलेशनल डेटाबेस से कैसे भिन्न हैं, और उनके प्रकारों से शुरुआत की।
हमने आगे MongoDB—एक व्यापक रूप से उपयोग में लिया जाने वाला दस्तावेज़-आधारित डेटाबेस—को कवर किया। अंत में, हमने अपने ब्लॉग प्लेटफ़ॉर्म के लिए डेटाबेस डिज़ाइन करने के एक सरल उदाहरण पर हाथ आज़माया।
किसी नए उपयोग-केस के लिए डेटाबेस डिज़ाइन करते समय अटक जाना सामान्य है, और हम आपको आधिकारिक दस्तावेज़ देखने के लिए प्रोत्साहित करते हैं ताकि अद्यतन फ़ंक्शंस और उदाहरणों के बारे में जान सकें।
यदि आप NoSQL का ज्ञान और गहरा करना चाहते हैं, तो यहाँ कुछ और गहन पाठ्यक्रम और ट्यूटोरियल हैं।
एक वरिष्ठ डेटा वैज्ञानिक के रूप में, मैं बड़े पैमाने पर मशीन‑लर्निंग समाधान डिज़ाइन, विकसित और परिनियोजित करता/करती हूँ ताकि व्यवसाय बेहतर डेटा‑आधारित निर्णय ले सकें। डेटा साइंस लेखक के रूप में, मैं अपने सीख, करियर सलाह, और गहन व्यावहारिक ट्यूटोरियल साझा करता/करती हूँ।
DataCamp के साथ सीखना जारी रखें
कोर्स
कोर्स
कोर्स