Mongodb: दो फ़ील्ड की स्ट्रिंग को कैसे संयोजित करें


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

 db.myCollection.aggregate([
  { $project : { newfield: { $concat : [ " $field1 ", " - ", " $field2 " ] } } },
  { $merge : "myCollection" }
])

यह विशेष उदाहरण “फ़ील्ड1” और “फ़ील्ड2” स्ट्रिंग्स को “न्यूफ़ील्ड” नामक एक नए फ़ील्ड में जोड़ता है और नए फ़ील्ड को myCollection नामक संग्रह में जोड़ता है।

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

 db.teams.insertOne({team: " Mavs ", conference: " Western ", points: 31})
db.teams.insertOne({team: " Spurs ", conference: " Western ", points: 22})
db.teams.insertOne({team: " Rockets ", conference: " Western ", points: 19})
db.teams.insertOne({team: " Celtics ", conference: " Eastern ", points: 26})
db.teams.insertOne({team: " Cavs ", conference: " Eastern ", points: 33})
db.teams.insertOne({team: " Nets ", conference: " Eastern ", points: 38})

उदाहरण: MongoDB में स्ट्रिंग्स को जोड़ना

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

 db.teams.aggregate([
  { $project : { teamConf: { $concat : [ " $team ", " - ", " $conference " ] } } },
  { $merge : "teams" }
])

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

 { _id: ObjectId("62013d8c4cb04b772fd7a90c"),
  team: 'Mavs',
  conference: 'Western',
  points: 31,
  teamConf: 'Mavs - Western' }
{ _id: ObjectId("62013d8c4cb04b772fd7a90d"),
  team: 'Spurs',
  conference: 'Western',
  points: 22,
  teamConf: 'Spurs - Western' }
{ _id: ObjectId("62013d8c4cb04b772fd7a90e"),
  team: 'Rockets',
  conference: 'Western',
  points: 19,
  teamConf: 'Rockets - Western' }
{ _id: ObjectId("62013d8c4cb04b772fd7a90f"),
  team: 'Celtics',
  conference: 'Eastern',
  points: 26,
  teamConf: 'Celtics - Eastern' }
{ _id: ObjectId("62013d8c4cb04b772fd7a910"),
  team: 'Cavs',
  conference: 'Eastern',
  points: 33,
  teamConf: 'Cavs - Eastern' }
{ _id: ObjectId("62013d8c4cb04b772fd7a911"),
  team: 'Nets',
  conference: 'Eastern',
  points: 38,
  teamConf: 'Nets - Eastern' }

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

इस विशेष उदाहरण के लिए, हमने विभाजक के रूप में एक हाइफ़न का उपयोग करके दो तारों को जोड़ना चुना।

हालाँकि, हम दो तारों को उनके बीच किसी भी विभाजक मान के बिना संयोजित करना चुन सकते हैं।

निम्नलिखित कोड दिखाता है कि यह कैसे करना है:

 db.teams.aggregate([
  { $project : { teamConf: { $concat : [ " $team ", " $conference " ] } } },
  { $merge : "teams" }
])

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

 { _id: ObjectId("62013d8c4cb04b772fd7a90c"),
  team: 'Mavs',
  conference: 'Western',
  points: 31,
  teamConf: 'MavsWestern' }
{ _id: ObjectId("62013d8c4cb04b772fd7a90d"),
  team: 'Spurs',
  conference: 'Western',
  points: 22,
  teamConf: 'SpursWestern' }
{ _id: ObjectId("62013d8c4cb04b772fd7a90e"),
  team: 'Rockets',
  conference: 'Western',
  points: 19,
  teamConf: 'RocketWestern' }
{ _id: ObjectId("62013d8c4cb04b772fd7a90f"),
  team: 'Celtics',
  conference: 'Eastern',
  points: 26,
  teamConf: 'CelticsEastern' }
{ _id: ObjectId("62013d8c4cb04b772fd7a910"),
  team: 'Cavs',
  conference: 'Eastern',
  points: 33,
  teamConf: 'CavsEastern' }
{ _id: ObjectId("62013d8c4cb04b772fd7a911"),
  team: 'Nets',
  conference: 'Eastern',
  points: 38,
  teamConf: 'NetsEastern' }

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

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

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

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

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

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

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