MongoDB उदाहरण के साथ insert() का उपयोग करके ऑब्जेक्ट्स की सरणी
⚡ स्मार्ट सारांश
MongoDB insert() फ़ंक्शन का उपयोग करके ऑब्जेक्ट्स का ऐरे बनाने का तरीका यह दर्शाता है कि एक ही ऑपरेशन में कई दस्तावेज़ों को किसी कलेक्शन में कैसे जोड़ा जा सकता है। यह कर्मचारी रिकॉर्ड का एक ऐरे स्टोर करता है, दस्तावेज़ के अंदर ऐरे को एम्बेड करता है, और JSON प्रिंट फ़ंक्शन का उपयोग करके परिणामों को सुव्यवस्थित तरीके से प्रदर्शित करता है।

insert() मेथड क्या है? MongoDB?
insert() विधि में MongoDB यह फ़ंक्शन किसी संग्रह में एक या अधिक दस्तावेज़ जोड़ता है। दस्तावेज़ फ़ील्ड और मान युग्मों का एक समूह होता है जो BSON में संग्रहीत होता है, जो JSON का बाइनरी रूप है। जब आप एक दस्तावेज़ पास करते हैं, तो insert() फ़ंक्शन उस एक रिकॉर्ड को संग्रहीत करता है; जब आप दस्तावेज़ों का एक ऐरे पास करते हैं, तो यह उन सभी को एक ही ऑपरेशन में संग्रहीत करता है, जो उन्हें एक-एक करके सम्मिलित करने की तुलना में तेज़ होता है।
यह विधि db.collection.insert() पैटर्न का उपयोग करके एक विशिष्ट संग्रह के विरुद्ध चलाई जाती है। यदि लक्ष्य संग्रह अभी मौजूद नहीं है, MongoDB यह पहली बार डेटा इंसर्ट करते समय इसे स्वचालित रूप से बनाता है। यदि आप _id फ़ील्ड प्रदान नहीं करते हैं, तो प्रत्येक दस्तावेज़ को एक अद्वितीय _id फ़ील्ड भी प्राप्त होता है, ताकि बाद में प्रत्येक रिकॉर्ड की पहचान की जा सके।
हालांकि insert() अभी भी काम करता है, नए MongoDB नए संस्करणों में स्पष्ट विकल्प के रूप में insertOne() और insertMany() उपलब्ध हैं। नीचे दिए गए उदाहरणों में कर्मचारियों के दस्तावेज़ों की एक सरणी जोड़ने के लिए insert() का उपयोग किया गया है और फिर परिणामों को पठनीय JSON प्रारूप में प्रदर्शित किया गया है।
दस्तावेज़ों का एक ऐरे जोड़ना
“इन्सर्ट” कमांड का इस्तेमाल एक ही समय में एक कलेक्शन में कई दस्तावेज़ डालने के लिए भी किया जा सकता है। नीचे दिए गए कोड उदाहरण का इस्तेमाल एक ही समय में कई दस्तावेज़ डालने के लिए किया जा सकता है।
निम्नलिखित उदाहरण दिखाता है कि यह कैसे किया जा सकता है,
चरण 1) बनाओ Javaलिपि दस्तावेजों की सरणी रखने के लिए myEmployee नामक वेरिएबल
चरण 2) फ़ील्ड नाम और मानों के साथ आवश्यक दस्तावेज़ों को वेरिएबल में जोड़ें
चरण 3) संग्रह में दस्तावेज़ों की सरणी सम्मिलित करने के लिए insert कमांड का उपयोग करें
var myEmployee= [ { "Employeeid" : 1, "EmployeeName" : "Smith" }, { "Employeeid" : 2, "EmployeeName" : "Mohan" }, { "Employeeid" : 3, "EmployeeName" : "Joe" }, ]; db.Employee.insert(myEmployee);
यदि आदेश सफलतापूर्वक निष्पादित होता है, तो निम्नलिखित आउटपुट दिखाया जाएगा
आउटपुट से पता चलता है कि उन 3 दस्तावेजों को संग्रह में जोड़ा गया था।
किसी दस्तावेज़ के अंदर ऐरे कैसे डालें
अलग-अलग दस्तावेज़ों की एक सरणी डालने के अलावा, MongoDB यह आपको एक ही दस्तावेज़ के भीतर एक फ़ील्ड के रूप में एक ऐरे को स्टोर करने की अनुमति देता है। यह तब उपयोगी होता है जब एक रिकॉर्ड में स्वाभाविक रूप से मूल्यों की एक सूची होती है, जैसे कि एक कर्मचारी जिसके पास कई कौशल हैं या एक छात्र जो कई पाठ्यक्रमों में नामांकित है। MongoDB यह एक लचीले दस्तावेज़ मॉडल का उपयोग करता है, जिसमें सरणी एक अलग तालिका के बजाय सीधे ऑब्जेक्ट के अंदर रहती है, जो संबंधित डेटा को एक साथ रखती है।
निम्नलिखित उदाहरण एक कर्मचारी दस्तावेज़ सम्मिलित करता है जिसमें Skills नामक एक ऐरे फ़ील्ड शामिल है:
db.Employee.insert( { "Employeeid" : 4, "EmployeeName" : "Alan", "Skills" : [ "MongoDB", "Node.js", "Express" ] } );
इस दस्तावेज़ के भाग निम्न प्रकार से कार्य करते हैं:
- कर्मचारी आयडी और कर्मचारी का नाम ये सामान्य क्षेत्र-और-मान युग्म हैं।
- कौशल यह एक ऐरे फ़ील्ड है जिसमें वर्गाकार कोष्ठकों के भीतर तीन स्ट्रिंग मान होते हैं।
- एम्बेडेड ऐरे सहित संपूर्ण दस्तावेज़ को एक ही इंसर्ट ऑपरेशन में संग्रहीत किया जाता है।
रिकॉर्ड जोड़ने के बाद, आप एक फाइंड क्वेरी का उपयोग करके एम्बेडेड ऐरे की पुष्टि कर सकते हैं जो परिणाम को JSON में प्रिंट करता है:
db.Employee.find( { "Employeeid" : 4 } ).forEach(printjson)
आउटपुट में कर्मचारी दस्तावेज़ के भीतर नेस्टेड स्किल्स ऐरे दिखाई देता है। Laterआप $push ऑपरेटर का उपयोग करके ऐरे में नए मान जोड़ सकते हैं, या इंडेक्स स्थिति के आधार पर एक तत्व पढ़ सकते हैं। इस तरह से जुड़े हुए मानों को संग्रहीत करने से प्रत्येक दस्तावेज़ स्व-निहित रहता है, संग्रहों के बीच जॉइन की आवश्यकता कम हो जाती है, और डेटा को पढ़ना और बनाए रखना आसान हो जाता है।
insert() बनाम insertOne() बनाम insertMany()
MongoDB डेटा जोड़ने के लिए तीन संबंधित विधियाँ प्रदान करता है। नीचे दी गई तालिका उनकी तुलना करती है ताकि आप सही विधि का चयन कर सकें:
| विधि | उद्देश्य | उदाहरण |
|---|---|---|
| डालने () | यह एक पुरानी विधि है जो एक दस्तावेज़ या दस्तावेज़ों की एक सरणी जोड़ती है। यह अभी भी काम करती है लेकिन नए ड्राइवरों में इसे अप्रचलित कर दिया गया है। | db.Employee.insert(myEmployee) |
| insertOne() | यह ठीक एक दस्तावेज़ जोड़ता है और उसका सम्मिलित _id लौटाता है। एकल रिकॉर्ड के लिए बेहतर विकल्प। | db.Employee.insertOne({ … }) |
| insertMany() | एक ही कॉल में दस्तावेज़ों का एक ऐरे जोड़ता है और सभी डाले गए _ids लौटाता है। बल्क इंसर्शन के लिए बेहतर विकल्प। | db.Employee.insertMany([ { … }, { … } ]) |
नए प्रोजेक्ट्स के लिए, insertOne() और insertMany() विधियों का उपयोग करें क्योंकि इनसे उद्देश्य स्पष्ट होता है और त्रुटियों की रिपोर्टिंग बेहतर होती है। insert() विधि मुख्य रूप से पुराने ट्यूटोरियल और स्क्रिप्ट के साथ बैकवर्ड कम्पैटिबिलिटी बनाए रखने के लिए उपलब्ध है।
JSON प्रारूप में मुद्रण
JSON एक प्रारूप है जिसे Javaस्क्रिप्ट ऑब्जेक्ट नोटेशन, और यह जानकारी को व्यवस्थित, पढ़ने में आसान तरीके से संग्रहीत करने का एक तरीका है। हमारे आगे के उदाहरणों में, हम आउटपुट को बेहतर प्रारूप में देखने के लिए JSON प्रिंट कार्यक्षमता का उपयोग करने जा रहे हैं।
आइए JSON प्रारूप में मुद्रण का एक उदाहरण देखें
db.Employee.find().forEach(printjson)
Code स्पष्टीकरण:
- पहला बदलाव यह है कि find() फ़ंक्शन में forEach() नामक फ़ंक्शन को जोड़ा गया है। इससे यह सुनिश्चित होता है कि संग्रह में मौजूद प्रत्येक दस्तावेज़ को स्पष्ट रूप से देखा जाए। इस तरह, संग्रह में मौजूद प्रत्येक दस्तावेज़ के साथ आप क्या कर सकते हैं, इस पर आपका अधिक नियंत्रण होता है।
- दूसरा बदलाव forEach स्टेटमेंट में printjson कमांड डालना है। इससे कलेक्शन में मौजूद हर दस्तावेज़ JSON फ़ॉर्मेट में दिखाई देगा।
यदि आदेश सफलतापूर्वक निष्पादित होता है, तो निम्नलिखित आउटपुट दिखाया जाएगा
आउटपुट:
आउटपुट से स्पष्ट रूप से पता चलता है कि सभी दस्तावेज़ JSON शैली में मुद्रित हैं।


