मूल्यों की सूची प्राप्त करने के लिए, $push ऑपरेटर के साथ $group एकत्रीकरण का उपयोग करें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
> db.groupByDemo.insertOne({"UserName":"John","Subject":"MongoDB"}); { "acknowledged" : true, "insertedId" : ObjectId("5cd69f0457806ebf1256f136") } > db.groupByDemo.insertOne({"UserName":"Larry","Subject":"MySQL"}); { "acknowledged" : true, "insertedId" : ObjectId("5cd69f0657806ebf1256f137") } > db.groupByDemo.insertOne({"UserName":"John","Subject":"Java"}); { "acknowledged" : true, "insertedId" : ObjectId("5cd69f0d57806ebf1256f138") } > db.groupByDemo.insertOne({"UserName":"John","Subject":"C"}); { "acknowledged" : true, "insertedId" : ObjectId("5cd69f1357806ebf1256f139") } > db.groupByDemo.insertOne({"UserName":"Larry","Subject":"SQL Server"}); { "acknowledged" : true, "insertedId" : ObjectId("5cd69f1c57806ebf1256f13a") }
खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
> db.groupByDemo.find().pretty();
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" : ObjectId("5cd69f0457806ebf1256f136"), "UserName" : "John", "Subject" : "MongoDB" } { "_id" : ObjectId("5cd69f0657806ebf1256f137"), "UserName" : "Larry", "Subject" : "MySQL" } { "_id" : ObjectId("5cd69f0d57806ebf1256f138"), "UserName" : "John", "Subject" : "Java" } { "_id" : ObjectId("5cd69f1357806ebf1256f139"), "UserName" : "John", "Subject" : "C" } { "_id" : ObjectId("5cd69f1c57806ebf1256f13a"), "UserName" : "Larry", "Subject" : "SQL Server" }
$group और $push का उपयोग करके मूल्यों की सूची प्राप्त करने के लिए क्वेरी निम्नलिखित है -
> db.groupByDemo.aggregate({$group: { '_id': '$UserName', 'Subject': { $push: '$Subject'}}});
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" : "Larry", "Subject" : [ "MySQL", "SQL Server" ] } { "_id" : "John", "Subject" : [ "MongoDB", "Java", "C" ] }