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

MongoDB aggregate से डुप्लिकेट नामों के संबंधित फील्ड मानों की गिनती प्राप्त करें


उदाहरण देखते हैं और डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं:

> db.demo558.insertOne(
... { _id : 100, CountryCode:101, details: [
... { Name:"Chris", Subject:"MySQL" },
... { Name:"Chris", Subject:"MongoDB" },
... { Name:"Chris", Subject:"Java" },
... { Name:"Bob", Subject:"Python" },
... { Name:"Bob", Subject:"Java" } ] } )
{ "acknowledged" : true, "insertedId" : 100 }

find() से सभी डॉक्यूमेंट्स देखें:

> db.demo558.find();

आउटपुट:

{ "_id" : 100, "CountryCode" : 101, "details" : [ { "Name" : "Chris", "Subject" : "MySQL" }, { "Name" : "Chris", "Subject" : "MongoDB" }, { "Name" : "Chris", "Subject" : "Java" }, { "Name" : "Bob", "Subject" : "Python" }, { "Name" : "Bob", "Subject" : "Java" } ] }

गिनती प्राप्त करने के लिए aggregation क्वेरी:

> db.demo558.aggregate([
... { $unwind: "$details" },
... { $group: { _id: "$details.Name", NameCount:{$sum : 1}, Subject : {$push: "$details.Subject"} } },
... { $project: { NameCount: 1, SubjectCount : {$size: "$Subject"} } }
... ]).pretty()

परिणाम:

{ "_id" : "Bob", "NameCount" : 2, "SubjectCount" : 2 }
{ "_id" : "Chris", "NameCount" : 3, "SubjectCount" : 3 }

  1. - MongoDB में Multiple Fields के साथ Group करके Duplicate Values Count करना

    इसके लिए MongoDB aggregate में $cond का उपयोग करें। $cond boolean expression को evaluate करके दो specified return expressions में से एक return करता है। Collection बनाना > db.demo536.insertOne({Name1:Chris,Name2:David}); { acknowledged : true, insertedId : ObjectId(5e8c843eef4dcbee04fbbc01) } >

  1. - MongoDB क्वेरी: फील्ड के रिटर्निंग वैल्यूज को लिमिट करें

    इसके लिए $slice का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo594.insertOne({ id:1, details:[ {Name:Chris,Age:21}, {Name:Bob,Age:20}, {Name:David,Age:23}, {Name:Sam,Age:22} ] }); { acknowledged : true, insertedId : ObjectId(5e9334

  1. - MySQL में GROUP BY COUNT से कॉलम में डुप्लिकेट मानों की गिनती

    MySQL में किसी कॉलम में प्रत्येक मान की घटनाओं (डुप्लिकेट गिनती) को प्राप्त करने के लिए GROUP BY के साथ COUNT(*) का उपयोग किया जाता है। उदाहरण के लिए टेबल बनाना mysql> CREATE TABLE DemoTable (Number INT); डेटा डालना (डुप्लिकेट्स सहित) mysql> INSERT INTO DemoTable VALUES(20), (20), (10), (30)