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

MongoDB - एक दस्तावेज़ बनाएँ

MongoDB insert() प्रदान करता है डेटाबेस में दस्तावेज़ जोड़ने के लिए विधि (और दो अन्य)।

MongoDB डेटाबेस में दस्तावेज़ डालने के लिए निम्नलिखित तीन तरीके प्रदान करता है:

  • insert()
  • insertOne()
  • insertMany()

insert() विधि

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

यहाँ एकल दस्तावेज़ सम्मिलित करने का सिंटैक्स दिया गया है:

db.collectionName.insert({ name: "value" })

उपरोक्त उदाहरण में, दस्तावेज़ में { name: "value" } . शामिल हैं . यह एक JSON दस्तावेज़ है। JSON दस्तावेज़ों में एक या अधिक नाम/मूल्य जोड़े होते हैं, जो घुंघराले ब्रेसिज़ में संलग्न होते हैं {}

MongoDB डेटा संग्रहीत करने के लिए JSON दस्तावेज़ों का उपयोग करता है, इसलिए हम इस प्रारूप में दस्तावेज़ सम्मिलित करते हैं।

जब हमने डेटाबेस बनाया था तब हम पहले ही इस पद्धति का उपयोग कर चुके हैं।

आइए हमारे डेटाबेस में एक और दस्तावेज़ जोड़ें:

db.artists.insert({ artistname: "Jorn Lande" })

यह { artistname: "Jorn Lande" } . के साथ एक दस्तावेज़ सम्मिलित करता है इसकी सामग्री के रूप में।

अब, अगर हम कलाकारों . को खोजते हैं संग्रह, हम दो दस्तावेज़ देखेंगे (जिसमें हमने पहले बनाया था):

> db.artists.find()
{ "_id" : ObjectId("5780fbf948ef8c6b3ffb0149"), "artistname" : "The Tea Party" }
{ "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" }

ध्यान दें कि MongoDB ने एक _id बनाया है दस्तावेजों के लिए क्षेत्र। यदि आप एक निर्दिष्ट नहीं करते हैं, तो MongoDB आपके लिए एक बनाएगा। हालांकि, यदि आप _id के मान पर नियंत्रण रखना चाहते हैं, तो आप इन्सर्ट करते समय यह फ़ील्ड प्रदान कर सकते हैं फ़ील्ड.

db.artists.insert({ _id: 1, artistname: "AC/DC" })

परिणाम:

> db.artists.find()
{ "_id" : ObjectId("5780fbf948ef8c6b3ffb0149"), "artistname" : "The Tea Party" }
{ "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" }
{ "_id" : 1, "artistname" : "AC/DC" }

_id MongoDB प्रदान करता है कि एक 12-बाइट ObjectId मान है। यह निम्नलिखित मानों से बना है;

  • एक 4-बाइट मान जो यूनिक्स युग के बाद के सेकंड को दर्शाता है,
  • एक 3-बाइट मशीन पहचानकर्ता,
  • एक 2-बाइट प्रोसेस आईडी, और
  • एक यादृच्छिक मान से शुरू होने वाला 3-बाइट काउंटर।

एकाधिक दस्तावेज़ बनाएं

आप एक insert() . में एक से अधिक दस्तावेज़ सम्मिलित कर सकते हैं विधि।

इस उदाहरण में, हम तीन दस्तावेज़ सम्मिलित करते हैं:

db.artists.insert(
   [
     { artistname: "The Kooks" },
     { artistname: "Bastille" },
     { artistname: "Gang of Four" }
   ]
)

ध्यान दें कि दस्तावेज़ एक सरणी के रूप में प्रदान किए जाते हैं। दस्तावेज़ वर्गाकार कोष्ठकों में संलग्न हैं [] , और उन्हें अल्पविराम द्वारा अलग किया जाता है।

उपरोक्त कोड को चलाने से निम्न संदेश प्राप्त होता है:

BulkWriteResult({
	"writeErrors" : [ ],
	"writeConcernErrors" : [ ],
	"nInserted" : 3,
	"nUpserted" : 0,
	"nMatched" : 0,
	"nModified" : 0,
	"nRemoved" : 0,
	"upserted" : [ ]
})

एम्बेडेड दस्तावेज़

एक दस्तावेज़ में अन्य दस्तावेज़, सरणियाँ और दस्तावेज़ों की सरणियाँ हो सकती हैं।

आप एक दस्तावेज़ में कई नाम/मूल्य जोड़े को अल्पविराम से अलग करके भी प्रदान कर सकते हैं।

db.artists.insert({
    artistname : "Deep Purple",
    albums : [
                {
                    album : "Machine Head",
                    year : 1972,
                    genre : "Rock"
                }, 
                {
                    album : "Stormbringer",
                    year : 1974,
                    genre : "Rock"
                }
            ]
})

परिणाम:

WriteResult({ "nInserted" : 1 })

पैरामीटर

insert() विधि निम्नलिखित मापदंडों को स्वीकार करती है।

<थ>विवरण
पैरामीटर प्रकार
document दस्तावेज़ या सरणी संग्रह में सम्मिलित करने के लिए दस्तावेज़ या दस्तावेज़ों की सरणी (जैसा कि ऊपर दिए गए उदाहरणों में है)।
writeConcern दस्तावेज़ वैकल्पिक पैरामीटर। यह लिखित चिंता व्यक्त करने वाला एक दस्तावेज है। एक लेखन चिंता एक स्टैंडअलोन मोंगोड या प्रतिकृति सेट या शार्प क्लस्टर के लिए लिखने के संचालन के लिए मोंगोडीबी से अनुरोधित स्वीकृति के स्तर का वर्णन करती है।
ordered बूलियन वैकल्पिक पैरामीटर। यदि मान true पर सेट है , MongoDB सरणी में दस्तावेज़ों को सम्मिलित करने का एक आदेशित प्रदर्शन करेगा, और यदि किसी दस्तावेज़ में कोई त्रुटि होती है, तो MongoDB सरणी में शेष दस्तावेज़ों को संसाधित किए बिना वापस आ जाएगा।

यदि मान false पर सेट है , MongoDB एक अनियंत्रित इंसर्ट करेगा, और यदि किसी एक दस्तावेज़ के साथ कोई त्रुटि होती है, तो सरणी में शेष दस्तावेज़ संसाधित होते रहेंगे।

insertOne() विधि

आप insertOne() . का भी उपयोग कर सकते हैं संग्रह में एकल दस्तावेज़ सम्मिलित करने की विधि:

db.musicians.insertOne({ _id: 1, name: "Ian Gillan", instrument: "Vocals" })

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

आप देखेंगे कि जब आप insert() . का उपयोग करते हैं तो आउटपुट अलग होता है विधि:

{ "acknowledged" : true, "insertedId" : 1 }

एम्बेडेड दस्तावेज़

जैसा कि insert() . के साथ है , आप एम्बेडेड दस्तावेज़ और दस्तावेज़ों की सरणियाँ सम्मिलित कर सकते हैं:

db.artists.insertOne({
    artistname : "Miles Davis",
    albums : [
                {
                    album : "Kind of Blue",
                    year : 1959,
                    genre : "Jazz"
                }, 
                {
                    album : "Bitches Brew",
                    year : 1970,
                    genre : "Jazz"
                }
            ]
})

परिणाम:

{
	"acknowledged" : true,
	"insertedId" : ObjectId("578214f048ef8c6b3ffb0159")
}

insertMany() विधि

जैसा कि नाम से पता चलता है, आप insertMany() . का उपयोग कर सकते हैं एकाधिक दस्तावेज़ सम्मिलित करने के लिए:

db.musicians.insertMany(
   [
     { _id: 2, name: "Ian Paice", instrument: "Drums", born: 1948 },
     { _id: 3, name: "Roger Glover", instrument: "Bass", born: 1945 },
     { _id: 4, name: "Steve Morse", instrument: "Guitar", born: 1954 },
     { _id: 5, name: "Don Airey", instrument: "Keyboards", born: 1948 },
     { _id: 6, name: "Jeff Martin", instrument: "Vocals", born: 1969 },
     { _id: 7, name: "Jeff Burrows", instrument: "Drums", born: 1968 },
     { _id: 8, name: "Stuart Chatwood", instrument: "Bass", born: 1969 },
   ]
)

फिर से, insertMany() . का उपयोग करते समय आउटपुट यदि आपने insert() . का उपयोग करके एक से अधिक दस्तावेज़ सम्मिलित किए हैं, तो यह भिन्न है विधि:

{
	"acknowledged" : true,
	"insertedIds" : [
		2,
		3,
		4,
		5,
		6,
		7,
		8
	]
}

एम्बेडेड दस्तावेज़

db.artists.insertMany(
[
{
    artistname : "Robben Ford",
    albums : [
                {
                    album : "Bringing it Back Home",
                    year : 2013,
                    genre : "Blues"
                }, 
                {
                    album : "Talk to Your Daughter",
                    year : 1988,
                    genre : "Blues"
                }
            ]
}, {
    artistname : "Snoop Dogg",
    albums : [
                {
                    album : "Tha Doggfather",
                    year : 1996,
                    genre : "Rap"
                }, 
                {
                    album : "Reincarnated",
                    year : 2013,
                    genre : "Reggae"
                }
            ]
}
])

परिणाम:

{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("578217c248ef8c6b3ffb015a"),
		ObjectId("578217c248ef8c6b3ffb015b")
	]
}

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - फ़ाइल का आकार बहुत बड़ा और बढ़ रहा है

  2. MongoDB डेटा निर्देशिका / डेटा / डीबी नहीं मिला

  3. मोंगोडीबी:डीबी से कनेक्शन जांचें

  4. ई:पैकेज mongodb-org का पता लगाने में असमर्थ

  5. MongoDB के शेल में 20 से अधिक आइटम (दस्तावेज़) कैसे प्रिंट करें?