MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगोडीबी $concat

MongoDB में, $concat एग्रीगेशन पाइपलाइन ऑपरेटर दो या दो से अधिक स्ट्रिंग्स को जोड़ता है और कॉन्टेनेटेड स्ट्रिंग लौटाता है।

उदाहरण

मान लीजिए हमारे पास employees . नामक संग्रह है निम्नलिखित दस्तावेज़ के साथ:

{
	"_id" : 1,
	"firstName" : "Sandy",
	"surname" : "Beach",
	"position" : "Lifesaver",
	"salary" : 55000
}

हम $concat . का उपयोग कर सकते हैं पहले नाम और उपनाम को जोड़ने के लिए ऑपरेटर:

db.employees.aggregate(
  [
    { $project: { 
        _id: 0,
        name: { $concat: [ "$firstName", "$surname" ] }
      }
    }
  ]
)

परिणाम:

{ "name" : "SandyBeach" }

और स्ट्रिंग्स

पिछला उदाहरण दो स्ट्रिंग्स को जोड़ता है, लेकिन यदि आवश्यक हो तो हम और अधिक जोड़ सकते हैं।

उदाहरण के लिए, हम प्रथम नाम और उपनाम के बीच एक स्थान सम्मिलित कर सकते हैं।

उदाहरण:

db.employees.aggregate(
  [
    { $project: { 
        _id: 0,
        name: { $concat: [ "$firstName", " ", "$surname" ] }
      }
    }
  ]
)

परिणाम:

{ "name" : "Sandy Beach" }

हम अपने संयोजन में और फ़ील्ड भी शामिल कर सकते हैं।

उदाहरण:

db.employees.aggregate(
  [
    { $project: { 
        _id: 0,
        employee: { 
          $concat: [ "$firstName", " ", "$surname", ", ", "$position" ] 
          }
      }
    }
  ]
)

परिणाम:

{ "employee" : "Sandy Beach, Lifesaver" }

अन्य डेटा प्रकार

$concat ऑपरेटर केवल तार का समर्थन करता है। $concat लागू किया जा रहा है किसी भिन्न प्रकार के परिणाम में त्रुटि होती है।

उदाहरण:

db.employees.aggregate(
  [
    { $project: { 
        _id: 0,
        name: { 
          $concat: [ "$firstName", "$salary" ] 
          }
      }
    }
  ]
)

परिणाम:

Error: command failed: {
	"ok" : 0,
	"errmsg" : "$concat only supports strings, not double",
	"code" : 16702,
	"codeName" : "Location16702"
} : aggregate failed :
[email protected]/mongo/shell/utils.js:25:13
[email protected]/mongo/shell/assert.js:18:14
[email protected]/mongo/shell/assert.js:618:17
[email protected]/mongo/shell/assert.js:708:16
[email protected]/mongo/shell/db.js:266:5
[email protected]/mongo/shell/collection.js:1046:12
@(shell):1:1

इस उदाहरण में मैंने एक संख्या के साथ एक स्ट्रिंग को संयोजित करने का प्रयास किया लेकिन मुझे एक त्रुटि मिली जो बताती है कि $concat केवल स्ट्रिंग्स का समर्थन करता है, डबल नहीं


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी काम नहीं कर रहा है। त्रुटि:dbpath (/data/db) मौजूद नहीं है।

  2. क्या गतिशील रूप से नामित मोंगोडीबी संग्रह उत्पन्न करना संभव है?

  3. एकाधिक चाबियों के साथ कुशलतापूर्वक विशिष्ट प्रदर्शन कैसे करें?

  4. MongoDB कनेक्शन के लिए .NET सर्वोत्तम अभ्यास?

  5. महीने के हिसाब से समूह और गिनती