MongoDB 4.4 ने सबस्ट्रिंग खोजने और बदलने के लिए दो नए ऑपरेटरों सहित नौ नए एकत्रीकरण पाइपलाइन ऑपरेटरों को पेश किया।
दो नए ऑपरेटर जो आपको एक सबस्ट्रिंग को खोजने और बदलने की अनुमति देते हैं, वे हैं $replaceOne
और $replaceAll
ऑपरेटरों।
यहां बताया गया है कि प्रत्येक ऑपरेटर क्या करता है:
ऑपरेटर | <थ>विवरण|
---|---|
$replaceOne | एक इनपुट स्ट्रिंग में खोज स्ट्रिंग के पहले उदाहरण को एक प्रतिस्थापन स्ट्रिंग के साथ बदल देता है। |
$replaceAll | एक इनपुट स्ट्रिंग में खोज स्ट्रिंग के सभी उदाहरणों को एक प्रतिस्थापन स्ट्रिंग के साथ बदल देता है। |
इन ऑपरेटरों के बीच एकमात्र अंतर यह है कि $replaceOne
पहले . की जगह लेता है सबस्ट्रिंग का उदाहरण, जबकि $replaceAll
सभी . की जगह लेता है सबस्ट्रिंग के उदाहरण।
$replaceOne
संचालिका
मान लीजिए हमारे पास products
. नामक संग्रह है निम्नलिखित दस्तावेज़ के साथ:
{ "_id" : 1, "product" : "Left Handed Screwdriver with Left Handed Carry Case" }
हम $replaceOne
. का उपयोग कर सकते हैं सबस्ट्रिंग के पहले उदाहरण को प्रतिस्थापित करने के लिए ऑपरेटर Left Handed
एक और स्ट्रिंग के साथ:
db.products.aggregate([
{
$project:
{
product: { $replaceOne: { input: "$product", find: "Left Handed", replacement: "Ambidextrous" } }
}
}
]).pretty()
परिणाम:
{ "_id" : 1, "product" : "Ambidextrous Screwdriver with Left Handed Carry Case" }
ध्यान दें कि वास्तव में सबस्ट्रिंग के दो उदाहरण हैं (Left Handed
) लेकिन केवल पहला उदाहरण बदल दिया गया था।
$replaceAll
संचालिका
पिछले उदाहरण में, हमने सबस्ट्रिंग के पहले उदाहरण को बदल दिया था।
आइए अब $replaceAll
. का उपयोग करें सभी . को बदलने के लिए ऑपरेटर सबस्ट्रिंग के उदाहरण:
db.products.aggregate([
{
$project:
{
product: { $replaceAll: { input: "$product", find: "Left Handed", replacement: "Ambidextrous" } }
}
}
]).pretty()
परिणाम:
{ "_id" : 1, "product" : "Ambidextrous Screwdriver with Ambidextrous Carry Case" }
इस बार सबस्ट्रिंग के दोनों उदाहरण (Left Handed
) को बदल दिया गया।