इसके लिए $ifNull ऑपरेटर के साथ एग्रीगेट फ्रेमवर्क का उपयोग करें। एकत्रीकरण में $concatArrays का उपयोग सरणियों को जोड़ने के लिए किया जाता है। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
>db.concatenateArraysDemo.insertOne({"FirstSemesterSubjects": ["MongoDB","MySQL","Java"],"SecondSemesterSubjects":["C","C++",]}); { "acknowledged" : true, "insertedId" : ObjectId("5cd687707924bb85b3f4895c") } > db.concatenateArraysDemo.insertOne({"FirstSemesterSubjects":["C#","Ruby","Python"]}); { "acknowledged" : true, "insertedId" : ObjectId("5cd687927924bb85b3f4895d") } >db.concatenateArraysDemo.insertOne({"FirstSemesterSubjects":["HTML","CSS","Javascript"],"SecondSemesterSubjects":["CSS","Javascript"]}); { "acknowledged" : true, "insertedId" : ObjectId("5cd687bb7924bb85b3f4895e") }
खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
> db.concatenateArraysDemo.find().pretty();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5cd687707924bb85b3f4895c"), "FirstSemesterSubjects" : [ "MongoDB", "MySQL", "Java" ], "SecondSemesterSubjects" : [ "C", "C++" ] } { "_id" : ObjectId("5cd687927924bb85b3f4895d"), "FirstSemesterSubjects" : [ "C#", "Ruby", "Python" ] } { "_id" : ObjectId("5cd687bb7924bb85b3f4895e"), "FirstSemesterSubjects" : [ "HTML", "CSS", "Javascript" ], "SecondSemesterSubjects" : [ "CSS", "Javascript" ] }
अशक्त होने पर भी सरणियों को संयोजित करने की क्वेरी निम्नलिखित है -
> db.concatenateArraysDemo.aggregate([ {$project: { ConcatenateArrays: { '$concatArrays': [ {$ifNull: ['$FirstSemesterSubjects', []]}, {$ifNull: ['$SecondSemesterSubjects', []]} ] } } } ]);
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5cd687707924bb85b3f4895c"), "ConcatenateArrays" : [ "MongoDB", "MySQL", "Java", "C", "C++" ] } { "_id" : ObjectId("5cd687927924bb85b3f4895d"), "ConcatenateArrays" : [ "C#", "Ruby", "Python" ] } { "_id" : ObjectId("5cd687bb7924bb85b3f4895e"), "ConcatenateArrays" : [ "HTML", "CSS", "Javascript", "CSS", "Javascript" ] }