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

MongoDB में सिंगल क्वेरी से डेट द्वारा ऑर्डर और यूज़र द्वारा ग्रुप करें

MongoDB एग्रीगेशन: यूज़र द्वारा ग्रुपिंग और अधिकतम डेट खोजना

जब आपको यूज़र द्वारा दस्तावेज़ों को ग्रुप करके प्रत्येक यूज़र की नवीनतम (अधिकतम) डेट चाहिए, तो $group के साथ $max ऑपरेटर का उपयोग करें।

सैंपल डेटा बनाना

> db.demo243.insertOne({"userId":1,dueDate:new ISODate("2019-01-10")});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4575f81627c0c63e7dba5f") }
> db.demo243.insertOne({"userId":2,dueDate:new ISODate("2019-11-10")});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4576011627c0c63e7dba60") }
> db.demo243.insertOne({"userId":2,dueDate:new ISODate("2020-01-31")});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4576151627c0c63e7dba61") }
> db.demo243.insertOne({"userId":1,dueDate:new ISODate("2010-01-10")});
{ "acknowledged" : true, "insertedId" : ObjectId("5e45761b1627c0c63e7dba62") }

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

> db.demo243.find();

आउटपुट:

{ "_id" : ObjectId("5e4575f81627c0c63e7dba5f"), "userId" : 1, "dueDate" : ISODate("2019-01-10T00:00:00Z") }
{ "_id" : ObjectId("5e4576011627c0c63e7dba60"), "userId" : 2, "dueDate" : ISODate("2019-11-10T00:00:00Z") }
{ "_id" : ObjectId("5e4576151627c0c63e7dba61"), "userId" : 2, "dueDate" : ISODate("2020-01-31T00:00:00Z") }
{ "_id" : ObjectId("5e45761b1627c0c63e7dba62"), "userId" : 1, "dueDate" : ISODate("2010-01-10T00:00:00Z") }

एग्रीगेशन क्वेरी: यूज़र द्वारा ग्रुप और अधिकतम डेट

> db.demo243.aggregate({
    $group: {
        _id : '$userId',
        dueDate: { $max: '$dueDate'}
    }
})

आउटपुट (नवीनतम डेट प्रति यूज़र):

{ "_id" : 2, "dueDate" : ISODate("2020-01-31T00:00:00Z") }
{ "_id" : 1, "dueDate" : ISODate("2019-01-10T00:00:00Z") }

बेहतर क्वेरी: सॉर्टिंग के साथ

परिणामों को डेट द्वारा सॉर्ट करने के लिए:

> db.demo243.aggregate([
    { $group: { _id: "$userId", maxDueDate: { $max: "$dueDate" } } },
    { $sort: { maxDueDate: -1 } }
]);

अतिरिक्त ऑपरेटर्स

  • $min - सबसे पुरानी डेट खोजने के लिए
  • $first/$last - सॉर्ट ऑर्डर के आधार पर पहला/आखिरी मान (पहले $sort आवश्यक)
  • $push - प्रत्येक यूज़र की सभी डेट्स का ऐरे बनाने के लिए
  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 क्वेरी: डिस्टिंक्ट सेलेक्ट करें और काउंट करें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo586.insertOne({ details: [ { Name:Chris, Marks:71 }, { Name:Chris, Marks:61 }, { Name:David, Marks:81 } ] }); { acknowledged : true, insertedId : ObjectId(5e9200fefd2d90c177b5bcc7) } > db.demo586.insertOne({

  1. - MySQL में GROUP BY और COUNT का उपयोग करके डेट के अनुसार ग्रुपिंग और गणना कैसे करें?

    MySQL में GROUP BY और COUNT का उपयोग MySQL में GROUP BY क्लॉज और COUNT() फ़ंक्शन का उपयोग करके आप डेटा को ग्रुप कर सकते हैं और प्रत्येक ग्रुप में रिकॉर्ड्स की संख्या गिन सकते हैं। इसका बुनियादी सिंटैक्स निम्नलिखित है: SELECT yourColumnName1, yourColumnName2, ..., COUNT(*) as anyAliasName FROM yourT