जब आप MongoDB में एक डेटाबेस बनाते हैं, तो आपका डेटाबेस मूल रूप से एक खाली कंटेनर होता है जिसके लिए आप एक या अधिक संग्रह जोड़ सकते हैं।
एक संग्रह संबंधपरक डेटाबेस में एक तालिका के समान होता है।
रिलेशनल डेटाबेस में, आप CREATE TABLE
. का उपयोग कर सकते हैं डेटाबेस में इच्छित प्रत्येक तालिका बनाने के लिए।
लेकिन MongoDB एक रिलेशनल डेटाबेस नहीं है, और यह अपने डेटा को दस्तावेज़ों के रूप में संग्रहीत करता है। प्रत्येक दस्तावेज़ को एक संग्रह में संग्रहीत किया जाता है।
यह लेख आपको दिखाता है कि MongoDB में एक संग्रह कैसे बनाया जाता है।
दो विकल्प
MongoDB में संग्रह बनाने के लिए आपके पास दो विकल्प हैं:
- निहित
- स्पष्ट
यहां प्रत्येक का एक उदाहरण दिया गया है।
संग्रह बनाएं - स्पष्ट रूप से
आप एक गैर-मौजूद संग्रह में केवल एक दस्तावेज़ जोड़कर एक संग्रह बना सकते हैं। जब आप ऐसा करते हैं, तो संग्रह बनाया जाता है यदि यह पहले से मौजूद नहीं है।
यहाँ परोक्ष रूप से एक संग्रह बनाने का एक उदाहरण दिया गया है:
db.pets.insert({ name: "Fetch" })
यह pets
. नामक संग्रह बनाता है , और उसमें एक दस्तावेज़ सम्मिलित करता है।
वास्तव में, यह केवल संग्रह बनाता है यदि यह पहले से मौजूद नहीं है। यदि यह पहले से मौजूद है, तो यह केवल उस नाम के मौजूदा संग्रह में दस्तावेज़ को सम्मिलित करता है।
मूल रूप से, वाक्य रचना इस प्रकार है:
db.<collection>.insert()
जहां <collection>
संग्रह का नाम है।
एक संग्रह बनाएं - स्पष्ट रूप से
आप db.createCollection()
. के साथ स्पष्ट रूप से संग्रह भी बना सकते हैं तरीका। यह विधि आपको विभिन्न विकल्पों को निर्दिष्ट करने की अनुमति देती है, जैसे अधिकतम आकार या दस्तावेज़ सत्यापन नियम सेट करना।
यह CREATE TABLE
. के समान है एसक्यूएल में बयान। ऐसा कहने के बाद, MongoDB के लिए यह आवश्यक नहीं है कि आप कॉलम, डेटा प्रकार आदि निर्दिष्ट करें, जैसा कि आपको CREATE TABLE
के साथ निर्दिष्ट करने की आवश्यकता होगी। संबंधपरक डेटाबेस का उपयोग करते समय कथन।
यहां db.createCollection()
. का उपयोग करने का एक उदाहरण दिया गया है संग्रह बनाने की विधि:
db.createCollection("employees")
परिणाम:
{ "ok" : 1 }
इस उदाहरण में, मैंने कोई विकल्प निर्दिष्ट नहीं किया है। इसलिए, इसे इस छंद की तरह बनाने का कोई वास्तविक लाभ नहीं था (जैसा कि पिछले उदाहरण में है)।
हालांकि, अगर आप अपने संग्रह के लिए विकल्प निर्दिष्ट करना चाहते हैं, तो इसे स्पष्ट रूप से बनाना ही सही रास्ता है।
संग्रह बनाते समय कुछ विकल्पों को निर्दिष्ट करने का एक उदाहरण यहां दिया गया है:
db.createCollection(
"products",
{
capped : true,
size : 7500500,
max : 7000
}
)
परिणाम:
{ "ok" : 1 }
मेरे द्वारा इस उदाहरण में दिए गए विकल्पों की व्याख्या यहां दी गई है:
capped
तर्क आपको यह निर्दिष्ट करने की अनुमति देता है कि संग्रह का आकार सीमित होना चाहिए या नहीं (अर्थात एक निश्चित आकार से आगे बढ़ने की अनुमति नहीं है)। यदि आपtrue
निर्दिष्ट करते हैं , आपकोsize
. में अधिकतम आकार भी सेट करना होगा फ़ील्ड.size
तर्क एक कैप्ड संग्रह के लिए बाइट्स में अधिकतम आकार सेट करता है। एक बार कैप्ड संग्रह अपने अधिकतम आकार तक पहुँच जाता है, MongoDB नए दस्तावेज़ों के लिए जगह बनाने के लिए पुराने दस्तावेज़ों को हटा देता है।size
कैप्ड संग्रहों के लिए फ़ील्ड आवश्यक है और अन्य संग्रहों के लिए अनदेखा किया जाता है।max
तर्क आपको कैप्ड संग्रह में अनुमत दस्तावेज़ों की अधिकतम संख्या निर्दिष्ट करने की अनुमति देता है। यदि कैप्ड संग्रहsize
. तक पहुंच जाता है दस्तावेज़ों की अधिकतम संख्या तक पहुँचने से पहले, MongoDB पुराने दस्तावेज़ों को हटा देता है। इसलिए, सुनिश्चित करें किsize
max
. के साथ निर्दिष्ट दस्तावेज़ों की संख्या को समाहित करने के लिए तर्क पर्याप्त है तर्क।
ये विभिन्न विकल्पों में से तीन हैं जिन्हें आप db.createCollection()
. के साथ निर्दिष्ट कर सकते हैं विधि।
वाक्यविन्यास और अधिक विवरण
पूरा वाक्य-विन्यास (इस लेखन के रूप में) इस तरह दिखता है:
db.createCollection( <name>,
{
capped: <boolean>,
autoIndexId: <boolean>,
size: <number>,
max: <number>,
storageEngine: <document>,
validator: <document>,
validationLevel: <string>,
validationAction: <string>,
indexOptionDefaults: <document>,
viewOn: <string>,
pipeline: <pipeline>,
collation: <document>,
writeConcern: <document>
}
)
देखें db.createCollection()
प्रत्येक विकल्प की विस्तृत व्याख्या के लिए आधिकारिक MongoDB दस्तावेज़ीकरण से।