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

MongoDB - एक संग्रह बनाएँ

आप createCollection() . का उपयोग करके एक संग्रह बना सकते हैं विधि, या जब आप कोई दस्तावेज़ सम्मिलित करते हैं तो मक्खी पर।

संग्रह संबंधित दस्तावेजों के लिए कंटेनर की तरह हैं। वे आम तौर पर एक समान विषय के दस्तावेज़ों को समूहीकृत करने के लिए उपयोग किए जाते हैं। उदाहरण के लिए, आपके पास संग्रह नाम हो सकते हैं जैसे उपयोगकर्ता , pageviews , posts , comments , आदि.

जब हमने अपना डेटाबेस बनाया, तो हमने कलाकार . नामक एक संग्रह बनाया . इस संग्रह में कलाकार विवरण वाले दस्तावेज़ होंगे, जैसे कलाकारों के नाम, उनके द्वारा जारी किए गए एल्बम आदि।

संग्रह बनाने के दो तरीके

संग्रह बनाने के दो तरीके यहां दिए गए हैं:

  • दस्तावेज़ डालते समय आप तुरंत एक संग्रह बना सकते हैं (insert() का उपयोग करके) तरीका।
  • आप createCollection() . का उपयोग करके स्पष्ट रूप से एक संग्रह भी बना सकते हैं विधि।

मक्खी पर

जब आप insert() . का उपयोग करते हैं दस्तावेज़ सम्मिलित करने की विधि, आप उस संग्रह को निर्दिष्ट करते हैं जिसमें दस्तावेज़ सम्मिलित किया जाएगा। यदि संग्रह पहले से मौजूद नहीं है, तो इसे बनाया जाएगा।

यह वह तरीका है जिसका उपयोग हमने पहले किया था जब हमने अपने artists . को बनाया था दस्तावेज़ सम्मिलित करते समय संग्रह।

यहां वह कोड है जिसका हमने उपयोग किया है:

db.artists.insert({ artistname: "The Tea Party" })

इस मामले में, artists संग्रह पहले मौजूद नहीं था इसलिए इसे हमारे लिए बनाया गया था।

createCollection() का उपयोग करना विधि

आप createCollection() . का उपयोग करके भी संग्रह बना सकते हैं तरीका। यह आपको दस्तावेज़ सम्मिलित किए बिना एक संग्रह बनाने की अनुमति देता है।

यहां createCollection() . का उपयोग करने का एक उदाहरण दिया गया है विधि:

db.createCollection("producers")

विकल्पों के साथ

आप db.createCollection(name, options) . का उपयोग करके संग्रह के लिए विकल्प भी निर्दिष्ट कर सकते हैं वाक्य रचना।

यहां एक उदाहरण दिया गया है:

db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )

MongoDB संस्करण 3.2 के रूप में उपलब्ध फ़ील्ड इस प्रकार हैं।

<थ>विवरण
फ़ील्ड प्रकार
capped बूलियन जब true पर सेट किया जाता है , एक कैप्ड संग्रह बनाता है। कैप्ड संग्रह एक निश्चित आकार का संग्रह है जो अपने अधिकतम आकार तक पहुंचने पर अपनी सबसे पुरानी प्रविष्टियों को स्वचालित रूप से अधिलेखित कर देता है। यदि आप true निर्दिष्ट करते हैं , आपको size . में अधिकतम आकार भी सेट करना होगा फ़ील्ड.
autoIndexId बूलियन false निर्दिष्ट करें _id . पर किसी अनुक्रमणिका के स्वत:निर्माण को अक्षम करने के लिए खेत। MongoDB संस्करण 3.2 के अनुसार, यह फ़ील्ड बहिष्कृत है, और इसे संस्करण 3.4 में हटा दिया जाएगा।
size संख्या कैप्ड संग्रह के लिए बाइट्स में अधिकतम आकार। केवल कैप्ड संग्रह के साथ प्रयोग किया जाता है (इसे अन्य संग्रहों में अनदेखा किया जाता है)।
max संख्या कैप्ड संग्रह में अनुमत दस्तावेज़ों की अधिकतम संख्या। ध्यान दें कि size फ़ील्ड max . से अधिक प्राथमिकता लेता है खेत। यदि दस्तावेज़ सीमा तक पहुँचने से पहले संग्रह अपनी आकार सीमा तक पहुँच जाता है, तो MongoDB वैसे भी दस्तावेज़ों को हटा देगा।
usePowerOf2Sizes बूलियन केवल MMAPv1 संग्रहण इंजन में उपलब्ध है। इस फ़ील्ड को संस्करण 3.0 से हटा दिया गया है।
noPadding बूलियन केवल MMAPv1 संग्रहण इंजन में उपलब्ध है। संग्रह के लिए 2 आकार आवंटन की शक्ति अक्षम करता है। डिफ़ॉल्ट रूप से false
storageEngine दस्तावेज़ केवल WiredTiger स्टोरेज इंजन में उपलब्ध है। संग्रह बनाते समय संग्रहण इंजन को प्रति-संग्रह के आधार पर कॉन्फ़िगरेशन की अनुमति देता है। सिंटैक्स इस प्रकार है:{ <storage-engine-name>: <options> }
validator दस्तावेज़ आपको संग्रह के लिए सत्यापन नियम या अभिव्यक्ति निर्दिष्ट करने की अनुमति देता है। ध्यान दें कि सत्यापन केवल डेटा डालने और अपडेट करने पर ही लागू होता है। इसलिए, डेटाबेस में पहले से मौजूद डेटा मान्य नहीं है (जब तक इसे अपडेट नहीं किया जाता)।
validationLevel स्ट्रिंग आपको यह निर्दिष्ट करने की अनुमति देता है कि किसी अद्यतन के दौरान मौजूदा दस्तावेज़ों पर किसी भी सत्यापन नियम को कितनी सख्ती से लागू किया जाता है। संभावित मान:
off इन्सर्ट या अपडेट के लिए कोई सत्यापन नहीं होता है।
strict सत्यापन और अद्यतनों के लिए सत्यापन होता है। यह डिफ़ॉल्ट मान है।
moderate सत्यापन नियम केवल मौजूदा वैध . पर लागू होते हैं दस्तावेज़, लेकिन मौजूदा अमान्य . के लिए नहीं दस्तावेज़।
validationAction स्ट्रिंग निर्दिष्ट करता है कि क्या कोई त्रुटि होनी चाहिए, या केवल एक चेतावनी, जब अमान्य दस्तावेज़ सम्मिलित किए जाते हैं। यदि कोई त्रुटि है, तो अमान्य दस्तावेज़ अभी भी डाले जाएंगे, लेकिन एक चेतावनी के साथ।
error निर्दिष्ट करता है कि एक त्रुटि तब होती है जब एक अमान्य दस्तावेज़ लिखा जा रहा है, और कार्रवाई विफल हो जाती है।
warning निर्दिष्ट करता है कि अमान्य दस्तावेज़ अभी भी लिखे जा सकते हैं, और चेतावनी लॉग की जाएगी।
indexOptionDefaults दस्तावेज़ संग्रह बनाते समय आपको अनुक्रमणिका के लिए एक डिफ़ॉल्ट कॉन्फ़िगरेशन निर्दिष्ट करने की अनुमति देता है। एक storageEngineस्वीकार करता है निम्नलिखित सिंटैक्स वाला दस्तावेज़:{ : }

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला में कौन सा स्कीमा टाइप टाइमस्टैम्प के लिए सर्वश्रेष्ठ है?

  2. mongodb/mongoose findMany - सरणी में सूचीबद्ध आईडी वाले सभी दस्तावेज़ खोजें

  3. स्प्रिंग डेटा मिलान और फ़िल्टर नेस्टेड सरणी

  4. mongodb जाँच करें कि क्या बिंदु बहुभुज में है

  5. MongoDB एंबेडेड ऑब्जेक्ट्स की कोई आईडी नहीं है (शून्य मान)