MongoDB में, $toUpper
एकत्रीकरण पाइपलाइन ऑपरेटर एक स्ट्रिंग को अपरकेस में परिवर्तित करता है और परिणाम देता है।
उदाहरण
मान लीजिए हमारे पास pets
. नामक संग्रह है निम्नलिखित दस्तावेजों के साथ:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
हम $toUpper
. का उपयोग कर सकते हैं ऑपरेटर उन क्षेत्रों को अपरकेस स्ट्रिंग्स में बदलने और परिणाम वापस करने के लिए।
यहां name
लौटाने का एक उदाहरण दिया गया है और type
अपरकेस में फ़ील्ड:
db.pets.aggregate(
[
{
$project:
{
name: { $toUpper: "$name" },
type: { $toUpper: "$type" },
weight: "$weight"
}
}
]
)
परिणाम:
{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : 20 } { "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : 10 } { "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : 7 }
गैर-स्ट्रिंग कनवर्ट करना
आप $toUpper
. का उपयोग कर सकते हैं उन मूल्यों पर जो आवश्यक रूप से तार नहीं हैं। तर्क तब तक कोई भी व्यंजक हो सकता है जब तक कि वह एक स्ट्रिंग में हल हो जाता है।
उदाहरण के लिए, हम $toUpper
. का उपयोग कर सकते हैं weight
को बदलने के लिए एक अपरकेस स्ट्रिंग के लिए फ़ील्ड, भले ही उस फ़ील्ड में केवल संख्याएँ हों।
उदाहरण:
db.pets.aggregate(
[
{
$project:
{
name: { $toUpper: "$name" },
type: { $toUpper: "$type" },
weight: { $toUpper: "$weight" }
}
}
]
)
परिणाम:
{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : "20" } { "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : "10" } { "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : "7" }
हम देख सकते हैं कि weight
फ़ील्ड को एक स्ट्रिंग में बदल दिया गया था, क्योंकि यह अब उद्धरणों से घिरी हुई है। हालाँकि, यह देखते हुए कि इस फ़ील्ड में केवल संख्याएँ हैं, कोई अपरकेस प्रभाव नहीं है - संख्याओं में अपरकेस और लोअरकेस नहीं होते हैं, और इसलिए हम मामले के संबंध में कोई अंतर नहीं देख सकते हैं।
यदि हम केवल संख्या को एक स्ट्रिंग में बदलना चाहते हैं, तो हम $toString
. का उपयोग कर सकते हैं ऑपरेटर या यहां तक कि $convert
ऑपरेटर।