Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में ऐरे के साथ ग्रुप बाय परिणाम कैसे प्राप्त करें?

ऐरे के साथ ग्रुप बाय परिणाम प्राप्त करने के लिए aggregate() का उपयोग करें। हम $addToSet ऑपरेटर का भी उपयोग करेंगे। यह मान को ऐरे में जोड़ता है जब तक कि मान पहले से मौजूद न हो, जिस स्थिति में $addToSet उस ऐरे के लिए कुछ नहीं करता।

नमूना डेटा बनाना

> db.demo498.insertOne({id:1,Name:["Chris"]});
> db.demo498.insertOne({id:2,Name:["David"]});
> db.demo498.insertOne({id:3,Name:["Chris"]});
> db.demo498.insertOne({id:4,Name:["Bob"]});
> db.demo498.insertOne({id:5,Name:["David"]});

सभी दस्तावेज़ देखना

> db.demo498.find();
{ "id" : 1, "Name" : [ "Chris" ] }
{ "id" : 2, "Name" : [ "David" ] }
{ "id" : 3, "Name" : [ "Chris" ] }
{ "id" : 4, "Name" : [ "Bob" ] }
{ "id" : 5, "Name" : [ "David" ] }

ऐरे के साथ ग्रुप बाय परिणाम प्राप्त करने की क्वेरी

> db.demo498.aggregate([
  { $unwind : "$Name" },
  { $group : { _id : "$Name", Id : { $addToSet : "$id" } } }
])

परिणाम (प्रत्येक नाम के लिए ids का ऐरे):

{ "_id" : "David", "Id" : [ 5, 2 ] }
{ "_id" : "Bob", "Id" : [ 4 ] }
{ "_id" : "Chris", "Id" : [ 3, 1 ] }

व्याख्या: $unwind Name ऐरे को फ्लैट करता है (प्रत्येक नाम के लिए पंक्ति)। $group नाम द्वारा समूहित करता है और $addToSet उस नाम वाले सभी दस्तावेज़ों के id को यूनिक ऐरे में जोड़ता है।

  1. - MongoDB में _id द्वारा समूह कैसे बनाएं

    MongoDB में _id द्वारा समूह बनाने के लिए, $group का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo529.insertOne({Score:10}); { acknowledged : true, insertedId : ObjectId(5e8b1d5bef4dcbee04fbbbe4) } > db.demo529.insertOne({Score:20}); { acknowledged : true, insertedId : ObjectId(

  1. - MongoDB में प्रत्येक समूह में अधिकतम आइटम कैसे चुनें?

    आप $group का उपयोग कर सकते हैं। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo659.insertOne({Name:Chris,CountryName:US,Marks:50}); { acknowledged : true, insertedId : ObjectId(5ea1a50724113ea5458c7cf9) } > db.demo659.insertOne({Name:David,CountryName:US,Marks:60}); { acknowledged : true, in

  1. - MongoDB Aggregate एकाधिक परिणाम ग्रुप करें?

    एकाधिक परिणाम एग्रीगेट करने के लिए MongoDB में $group का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo765.insertOne( { Name:John, Category:ComputerScience, SubjectName:MongoDB, Marks:75 } ); { acknowledged : true, insertedId : ObjectId(5eb054525637cd592b2a4b01) } > db.demo765.insertOne( { N