Mongodb: यदि यह मौजूद नहीं है तो इसे कैसे सम्मिलित करें


आप किसी दस्तावेज़ को MongoDB के संग्रह में सम्मिलित करने के लिए निम्नलिखित सिंटैक्स का उपयोग केवल तभी कर सकते हैं जब वह पहले से मौजूद न हो:

 db.teams.update(
	{
	  team: 'Hornets'
	}, 
	 {
	  $setOnInsert : {team: 'Hornets', points: '58', rebounds: '20'}
	 },
	 {upsert: true }
)

यह विशेष कोड जाँचता है कि क्या “टीम” फ़ील्ड का मान “हॉर्नेट्स” है। यदि यह मान मौजूद है, तो कुछ नहीं होगा.

हालाँकि, यदि यह मान मौजूद नहीं है तो यह “टीम”, “पॉइंट्स” और “रिबाउंड्स” फ़ील्ड के लिए विशिष्ट मानों वाला एक दस्तावेज़ सम्मिलित करेगा।

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।

उदाहरण: यदि यह MongoDB में मौजूद नहीं है तो डालें

मान लीजिए कि हमारे पास निम्नलिखित दस्तावेजों के साथ टीमों नामक एक संग्रह है:

 db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8})
db.teams.insertOne({team: " Spurs ", points: 35, rebounds: 12})
db.teams.insertOne({team: " Rockets ", points: 20, rebounds: 7})
db.teams.insertOne({team: " Warriors ", points: 25, rebounds: 5})
db.teams.insertOne({team: " Cavs ", points: 23, rebounds: 9})

मान लीजिए कि हम “Mavs” टीम के लिए एक दस्तावेज़ सम्मिलित करने का प्रयास करने के लिए निम्नलिखित कोड का उपयोग करते हैं:

 db.teams.update(
	{
	  team: 'Mavs'
	}, 
	 {
	  $setOnInsert : {team: 'Mavs', points: '58', rebounds: '20'}
	 },
	 {upsert: true }
)

“टीम” फ़ील्ड में पहले से ही “माव्स” के लिए जानकारी शामिल है, किसी भी दस्तावेज़ को संशोधित नहीं किया जाएगा।

हालाँकि, मान लें कि हम “हॉर्नेट्स” टीम के लिए एक दस्तावेज़ सम्मिलित करने के लिए निम्नलिखित कोड का उपयोग करते हैं:

 db.teams.update(
	{
	  team: 'Hornets'
	}, 
	 {
	  $setOnInsert : {team: 'Hornets', points: '58', rebounds: '20'}
	 },
	 {upsert: true }
)

चूंकि “टीम” फ़ील्ड में पहले से ही “हॉर्नेट्स” के लिए जानकारी शामिल नहीं है, इसलिए प्रत्येक फ़ील्ड के लिए हमारे द्वारा निर्दिष्ट मानों के साथ संग्रह में एक नया दस्तावेज़ जोड़ा जाएगा।

अद्यतन संग्रह इस प्रकार दिखता है:

 { _id: ObjectId("6203df361e95a9885e1e764a"),
  team: 'Mavs',
  points: 30,
  rebounds: 8 }
{ _id: ObjectId("6203df361e95a9885e1e764b"),
  team: 'Spurs',
  points: 35,
  rebounds: 12 }
{ _id: ObjectId("6203df361e95a9885e1e764c"),
  team: 'Rockets',
  points: 20,
  rebounds: 7 }
{ _id: ObjectId("6203df361e95a9885e1e764d"),
  team: 'Warriors',
  points: 25,
  rebounds: 5 }
{ _id: ObjectId("6203df361e95a9885e1e764e"),
  team: 'Cavs',
  points: 23,
  rebounds: 9 }
{ _id: ObjectId("6203e17de42bfba74fc73325"),
  team: 'Hornets',
  dots: '58',
  rebounds: '20' }

ध्यान दें कि “हॉर्नेट्स” टीम के लिए एक नया दस्तावेज़ जोड़ा गया है।

नोट : आप $upsert फ़ंक्शन के लिए संपूर्ण दस्तावेज़ यहां पा सकते हैं।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि MongoDB में अन्य सामान्य ऑपरेशन कैसे करें:

MongoDB: एक नया फ़ील्ड कैसे जोड़ें
MongoDB: किसी फ़ील्ड को कैसे हटाएं
MongoDB: किसी फ़ील्ड में विशिष्ट मानों की गणना कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *