Mongodb: एक स्ट्रिंग को सबस्ट्रिंग की सरणी में कैसे विभाजित करें


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

 db.myCollection.aggregate([
  { $project : { split_field: { $split : [ " $field1 ", " " ] } } },
  { $merge : "myCollection" }
])

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

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

 db.teams.insertOne({name: " Dallas Mavs ", points: 31})
db.teams.insertOne({name: " San Antonio Spurs ", points: 22})
db.teams.insertOne({name: " Houston Rockets ", points: 19})
db.teams.insertOne({name: " Boston Celtics ", points: 26})
db.teams.insertOne({name: " Cleveland Cavs ", points: 33})

उदाहरण: MongoDB में एक स्ट्रिंग को सबस्ट्रिंग्स की एक सरणी में विभाजित करें

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

 db.teams.aggregate([
  { $project : { split_name: { $split : [ " $name ", " " ] } } },
  { $merge : "teams" }
])

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

 { _id: ObjectId("62014a924cb04b772fd7a938"),
  name: 'Dallas Mavs',
  points: 31,
  split_name: ['Dallas', 'Mavs'] }
{ _id: ObjectId("62014a924cb04b772fd7a939"),
  name: 'San Antonio Spurs',
  points: 22,
  split_name: ['San', 'Antonio', 'Spurs'] }
{ _id: ObjectId("62014a924cb04b772fd7a93a"),
  name: 'Houston Rockets',
  points: 19,
  split_name: ['Houston', 'Rockets'] }
{ _id: ObjectId("62014a924cb04b772fd7a93b"),
  name: 'Boston Celtics',
  points: 26,
  split_name: ['Boston', 'Celtics'] }
{ _id: ObjectId("62014a924cb04b772fd7a93c"),
  name: 'Cleveland Cavs',
  points: 33,
  split_name: ['Cleveland', 'Cavs'] }

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

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

यदि स्ट्रिंग को एक अलग डिलीमीटर (जैसे हाइफ़न, स्लैश, कोलन इत्यादि) द्वारा अलग किया गया है, तो बस $split फ़ंक्शन में उस डिलीमीटर का उपयोग करें।

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

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

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

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

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

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