MongoDB में, $toLower
एग्रीगेशन पाइपलाइन ऑपरेटर एक स्ट्रिंग को लोअरकेस में कनवर्ट करता है और परिणाम देता है।
उदाहरण
मान लीजिए हमारे पास 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 }
हम $toLower
. का उपयोग कर सकते हैं ऑपरेटर उन क्षेत्रों को लोअरकेस स्ट्रिंग्स में बदलने और परिणाम वापस करने के लिए।
यहां name
लौटाने का एक उदाहरण दिया गया है और type
लोअरकेस में फ़ील्ड:
db.pets.aggregate(
[
{
$project:
{
name: { $toLower: "$name" },
type: { $toLower: "$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 }
इस मामले में, अधिकांश वर्ण शुरू में लोअरकेस थे, लेकिन पहला वर्ण अपरकेस था, सभी मामलों में, उन वर्णों को लोअरकेस में बदल दिया गया था और परिणाम वापस आ गया था।
गैर-स्ट्रिंग कनवर्ट करना
आप $toLower
. का उपयोग कर सकते हैं उन मूल्यों पर जो आवश्यक रूप से तार नहीं हैं। तर्क किसी भी अभिव्यक्ति हो सकता है जब तक कि यह एक स्ट्रिंग को हल करता है।
उदाहरण के लिए, हम $toLower
. का उपयोग कर सकते हैं weight
को बदलने के लिए फ़ील्ड को लोअरकेस स्ट्रिंग में बदलें, भले ही उस फ़ील्ड में केवल संख्याएँ हों।
उदाहरण:
db.pets.aggregate(
[
{
$project:
{
name: { $toLower: "$name" },
type: { $toLower: "$type" },
weight: { $toLower: "$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
ऑपरेटर।