Mongodb: स्ट्रिंग की लंबाई कैसे ज्ञात करें
आप MongoDB में एक स्ट्रिंग की लंबाई ज्ञात करने और प्रश्नों में उस स्ट्रिंग की लंबाई का उपयोग करने के लिए निम्नलिखित विधियों का उपयोग कर सकते हैं:
विधि 1: श्रृंखला की लंबाई ज्ञात करें
db.myCollection.aggregate([ { $project : { "name": 1, "length": { $strLenCP : " $name " } }} ])
विधि 2: ऐसे दस्तावेज़ ढूंढें जिनकी स्ट्रिंग एक निश्चित लंबाई से अधिक है
db.myCollection.find({ "name": { $exists : true }, $expr : { $gt : [ { $strLenCP : " $name " }, 14 ] } })
निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित दस्तावेजों के साथ संग्रह टीम के साथ प्रत्येक विधि का उपयोग कैसे करें:
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})
उदाहरण 1: एक स्ट्रिंग की लंबाई ज्ञात करना
हम प्रत्येक दस्तावेज़ के “नाम” फ़ील्ड में स्ट्रिंग की लंबाई की गणना करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:
db.teams.aggregate([ { $project : { "name": 1, "length": { $strLenCP : " $name " } }} ])
यह कोड निम्नलिखित परिणाम देता है:
{ _id: ObjectId("62014eff4cb04b772fd7a93d"), name: 'Dallas Mavs', length: 11 } { _id: ObjectId("62014eff4cb04b772fd7a93e"), name: 'San Antonio Spurs', length: 17 } { _id: ObjectId("62014eff4cb04b772fd7a93f"), name: 'Houston Rockets', length: 15 } { _id: ObjectId("62014eff4cb04b772fd7a940"), name: 'Boston Celtics', length: 14 } { _id: ObjectId("62014eff4cb04b772fd7a941"), name: 'Cleveland Cavs', length: 14 }
लंबाई मान “नाम” कॉलम में स्ट्रिंग की लंबाई प्रदर्शित करता है।
उदाहरण के लिए:
- “डलास माव्स” श्रृंखला की लंबाई 11 है।
- ‘सैन एंटोनियो स्पर्स’ श्रृंखला की लंबाई 17 है।
और इसी तरह।
ध्यान दें कि लंबाई रिक्त स्थानों को भी गिनती है।
उदाहरण 2: ऐसे दस्तावेज़ ढूंढें जिनकी स्ट्रिंग एक निश्चित लंबाई से अधिक है
हम केवल उन दस्तावेज़ों को वापस करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं जिनकी “नाम” कॉलम में स्ट्रिंग 14 से अधिक है:
db.teams.find({ "name": { $exists : true }, $expr : { $gt : [ { $strLenCP : " $name " }, 14 ] } })
यह क्वेरी निम्नलिखित परिणाम लौटाती है:
{ _id: ObjectId("62014eff4cb04b772fd7a93e"), name: 'San Antonio Spurs', points: 22 } { _id: ObjectId("62014eff4cb04b772fd7a93f"), name: 'Houston Rockets', points: 19 }
ध्यान दें कि केवल दो टीमें लौटी हैं जिनका “नाम” फ़ील्ड 14 से अधिक है।
नोट : आप $strLenCP फ़ंक्शन के लिए संपूर्ण दस्तावेज़ यहां पा सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि MongoDB में अन्य सामान्य ऑपरेशन कैसे करें:
MongoDB: एक स्ट्रिंग को सबस्ट्रिंग की सरणी में कैसे विभाजित करें
MongoDB: दो फ़ील्ड की स्ट्रिंग को कैसे संयोजित करें
MongoDB: स्ट्रिंग्स को कैसे बदलें