सरणियों के साथ परिणाम के आधार पर समूह को पुनः प्राप्त करने के लिए, समुच्चय() का उपयोग करें। हम $addToSet ऑपरेटर का भी उपयोग करेंगे। यह एक सरणी में एक मान जोड़ता है जब तक कि मान पहले से मौजूद न हो, उस स्थिति में $addToSet उस सरणी के लिए कुछ भी नहीं करता है।
आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo498.insertOne({id:1,Name:["Chris"]});{ "acknowledged" : true, "insertedId" : ObjectId("5e86192b987b6e0e9d18f553") } > db.demo498.insertOne({id:2,Name:["David"]});{ "acknowledged" : true, "insertedId" : ObjectId("5e86192d987b6e0e9d18f554") } > db.demo498.insertOne({id:3,Name:["Chris"]});{ "acknowledged" : true, "insertedId" : ObjectId("5e861931987b6e0e9d18f555") } > db.demo498.insertOne({id:4,Name:["Bob"]});{ "acknowledged" : true, "insertedId" : ObjectId("5e861942987b6e0e9d18f556") } > db.demo498.insertOne({id:5,Name:["David"]});{ "acknowledged" : true, "insertedId" : ObjectId("5e861947987b6e0e9d18f557") }
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo498.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5e86192b987b6e0e9d18f553"), "id" : 1, "Name" : [ "Chris" ] } { "_id" : ObjectId("5e86192d987b6e0e9d18f554"), "id" : 2, "Name" : [ "David" ] } { "_id" : ObjectId("5e861931987b6e0e9d18f555"), "id" : 3, "Name" : [ "Chris" ] } { "_id" : ObjectId("5e861942987b6e0e9d18f556"), "id" : 4, "Name" : [ "Bob" ] } { "_id" : ObjectId("5e861947987b6e0e9d18f557"), "id" : 5, "Name" : [ "David" ] }
MongoDB में सरणियों के साथ परिणाम के आधार पर समूह को पुनः प्राप्त करने की क्वेरी निम्नलिखित है -
> db.demo498.aggregate([{ ... $unwind : "$Name" ... }, { ... $group : { ... _id : $quot;$Name", ... Id : { ... $addToSet : "$id" ... } ... } ... } ... ])
यह निम्नलिखित आउटपुट देगा -
{ "_id" : "David", "Id" : [ 5, 2 ] } { "_id" : "Bob", "Id" : [ 4 ] } { "_id" : "Chris", "Id" : [ 3, 1 ] }