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

MongoDB एग्रीगेट का उपयोग करके शीर्ष रिकॉर्ड चुनें (अवरोही क्रम)

MongoDB में अवरोही क्रम में शीर्ष रिकॉर्ड प्राप्त करना

अवरोही क्रम के लिए -1 का उपयोग करें, जो sort() के लिए सॉर्टिंग क्रम निर्दिष्ट करता है।

कलेक्शन बनाना

> db.demo267.insertOne({id:100,"Name":"Chris"});
{ "acknowledged": true, "insertedId": ObjectId("5e4811951627c0c63e7dbaab") }
> db.demo267.insertOne({id:100,"Name":"Adam"});
{ "acknowledged": true, "insertedId": ObjectId("5e48119e1627c0c63e7dbaac") }
> db.demo267.insertOne({id:100,"Name":"David"});
{ "acknowledged": true, "insertedId": ObjectId("5e4811a51627c0c63e7dbaad") }
> db.demo267.insertOne({id:100,"Name":"Bob"});
{ "acknowledged": true, "insertedId": ObjectId("5e4811ab1627c0c63e7dbaae") }

सभी डॉक्यूमेंट्स

> db.demo267.find().pretty();
{ "_id": ObjectId("5e4811951627c0c63e7dbaab"), "id": 100, "Name": "Chris" }
{ "_id": ObjectId("5e48119e1627c0c63e7dbaac"), "id": 100, "Name": "Adam" }
{ "_id": ObjectId("5e4811a51627c0c63e7dbaad"), "id": 100, "Name": "David" }
{ "_id": ObjectId("5e4811ab1627c0c63e7dbaae"), "id": 100, "Name": "Bob" }

शीर्ष रिकॉर्ड क्वेरी (Name के अवरोही क्रम में)

> db.demo267.find().sort({Name:-1}).limit(1);

परिणाम

{ "_id": ObjectId("5e4811a51627c0c63e7dbaad"), "id": 100, "Name": "David" }

व्याख्या

  • sort({Name: -1}): Name फील्ड के अनुसार अवरोही क्रम में सॉर्ट करता है (Z से A)
  • limit(1): केवल पहला रिकॉर्ड लौटाता है
  • वर्णमाला क्रम में "David" सबसे अंत में आता है, इसलिए शीर्ष पर है
  • आरोही क्रम के लिए 1 का उपयोग करें: sort({Name: 1})

यह पैटर्न "सबसे नवीनतम", "सबसे अधिक", "शीर्ष स्कोरर" आदि क्वेरी के लिए उपयोगी है।

  1. - MongoDB एग्रीगेशन: दस्तावेज और ऐरे एलिमेंट्स से औसत प्राप्त करें

    इसके लिए, $avg के साथ $group और aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo598.insertOne({ Information:Student, id:100, details:[ {Name:Chris,Marks:75}, {Name:Bob,Marks:55} ] }); { acknowledged : true, insertedId : ObjectId(5e9

  1. - MongoDB में केवल यूनिक रिकॉर्ड्स प्रदर्शित करना और डुप्लिकेट्स को अनदेखा करना

    किसी फ़ील्ड के विशिष्ट मान प्राप्त करने के लिए distinct() मेथड का उपयोग करें। डेमो डेटा > db.demo613.insertOne({Name:Chris}); > db.demo613.insertOne({Name:Bob}); > db.demo613.insertOne({Name:Bob}); > db.demo613.insertOne({Name:David}); > db.demo613.insertOne({Name:Chris}); > db.de

  1. - MySQL में ORDER BY DESC LIMIT का उपयोग करके अंतिम रिकॉर्ड चुनना और अपडेट करना

    MySQL में ORDER BY ... DESC LIMIT 1 का उपयोग करके अंतिम रिकॉर्ड को चुनें और अपडेट करें। उदाहरण: ऑटो-इन्क्रीमेंट ID के साथ टेबल बनाना mysql> CREATE TABLE DemoTable ( -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name VARCHAR(100) -> ); Query OK, 0 rows affected (0.59 sec