Mongodb: $susbtr फ़ंक्शन का उपयोग कैसे करें


आप किसी स्ट्रिंग से सबस्ट्रिंग निकालने के लिए MongoDB में $substr फ़ंक्शन का उपयोग कर सकते हैं।

यह फ़ंक्शन निम्नलिखित मूल सिंटैक्स का उपयोग करता है:

 db.myCollection.aggregate([
  { $project : {substring: { $substr : [ " $fullstring ", 0, 4 ] }}}
])

यह विशेष उदाहरण स्थिति 0 से प्रारंभ करके “फुलस्ट्रिंग” लेबल वाले फ़ील्ड से सभी चार वर्णों को निकालता है।

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

 db.sales.insertOne({yearMonth: 201702, amount: 40 })
db.sales.insertOne({yearMonth: 201802, amount: 32 })
db.sales.insertOne({yearMonth: 201806, amount: 19 })
db.sales.insertOne({yearMonth: 201910, amount: 29 })
db.sales.insertOne({yearMonth: 201907, amount: 35 })

उदाहरण: MongoDB में $susbtr फ़ंक्शन का उपयोग कैसे करें

हम “yearMonth” फ़ील्ड से पहले चार अक्षर निकालने और उन्हें “year” नामक एक नए फ़ील्ड में प्रदर्शित करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

 db.sales.aggregate([
  { $project : {year: { $substr : [ " $yearMonth ", 0, 4 ] }}}
])

यह कोड निम्नलिखित परिणाम उत्पन्न करता है:

 { _id: ObjectId("620145544cb04b772fd7a929"), year: '2017' }
{ _id: ObjectId("620145544cb04b772fd7a92a"), year: '2018' }
{ _id: ObjectId("620145544cb04b772fd7a92b"), year: '2018' }
{ _id: ObjectId("620145544cb04b772fd7a92c"), year: '2019' }
{ _id: ObjectId("620145544cb04b772fd7a92d"), year: '2019' }

ध्यान दें कि प्रत्येक दस्तावेज़ के “माहवर्ष” फ़ील्ड के पहले चार अक्षर “वर्ष” लेबल वाले एक नए फ़ील्ड में प्रदर्शित होते हैं।

यह ध्यान रखना महत्वपूर्ण है कि यह कोड केवल सबस्ट्रिंग प्रदर्शित करता है

वास्तव में इस सबस्ट्रिंग वाले संग्रह में एक नया फ़ील्ड जोड़ने के लिए, हमें निम्नानुसार $merge फ़ंक्शन का उपयोग करने की आवश्यकता है:

 db.sales.aggregate([
  { $project : {year: { $substr : [ " $yearMonth ", 0, 4 ] }}},
  { $merge : "sales" }
])

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

 { _id: ObjectId("620145544cb04b772fd7a929"),
  yearMonth: 201702,
  amount: 40,
  year: '2017' }
{ _id: ObjectId("620145544cb04b772fd7a92a"),
  yearMonth: 201802,
  amount: 32,
  year: '2018' }
{ _id: ObjectId("620145544cb04b772fd7a92b"),
  yearMonth: 201806,
  amount: 19,
  year: '2018' }
{ _id: ObjectId("620145544cb04b772fd7a92c"),
  yearMonth: 201910,
  amount: 29,
  year: '2019' }
{ _id: ObjectId("620145544cb04b772fd7a92d"),
  yearMonth: 201907,
  amount: 35,
  year: '2019' }

ध्यान दें कि संग्रह में प्रत्येक दस्तावेज़ में “वर्ष” शीर्षक वाला नया फ़ील्ड जोड़ा गया है और यह “वर्षमाह” फ़ील्ड के पहले चार अक्षर प्रदर्शित करता है।

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

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

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

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

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

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