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

MongoDB में अधिकतम मार्क्स वाले रिकॉर्ड प्राप्त करें

MongoDB में अधिकतम मान वाला दस्तावेज़ खोजना

किसी फ़ील्ड के आधार पर अधिकतम मान वाला दस्तावेज़ खोजने के लिए sort() को डिसेंडिंग ऑर्डर में उपयोग करके limit(1) के साथ जोड़ें।

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

> db.demo241.insertOne({"Marks":67});
{ "acknowledged" : true, "insertedId" : ObjectId("5e441f729af932883c61ea40") }
> db.demo241.insertOne({"Marks":89});
{ "acknowledged" : true, "insertedId" : ObjectId("5e441f769af932883c61ea41") }
> db.demo241.insertOne({"Marks":78});
{ "acknowledged" : true, "insertedId" : ObjectId("5e441f789af932883c61ea42") }

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

> db.demo241.find();

आउटपुट:

{ "_id" : ObjectId("5e441f729af932883c61ea40"), "Marks" : 67 }
{ "_id" : ObjectId("5e441f769af932883c61ea41"), "Marks" : 89 }
{ "_id" : ObjectId("5e441f789af932883c61ea42"), "Marks" : 78 }

अधिकतम मार्क्स वाला दस्तावेज़ खोजना

> db.demo241.find().sort({Marks:-1}).limit(1);

आउटपुट:

{ "_id" : ObjectId("5e441f769af932883c61ea41"), "Marks" : 89 }

वैकल्पिक विधियाँ

एग्रीगेशन का उपयोग (अधिक लचीला)

> db.demo241.aggregate([
    {$sort: {Marks: -1}},
    {$limit: 1}
]);

अधिकतम मान के साथ दस्तावेज़ खोजना (फाइंड वन)

> db.demo241.findOne({}, {sort: {Marks: -1}});

महत्वपूर्ण बिंदु

  • sort({Marks: -1}) - डिसेंडिंग ऑर्डर (सबसे बड़ा पहले)
  • limit(1) - केवल पहला परिणाम लौटाता है
  • इंडेक्स होने पर क्वेरी बहुत तेज़ होती है: db.demo241.createIndex({Marks: -1})
  • यदि एक से अधिक दस्तावेज़ों में समान अधिकतम मान हो, तो पहला मिला दस्तावेज़ लौटाया जाता है
  1. - MongoDB एग्रीगेशन: सबसे कम मार्क्स वाले दो दस्तावेज प्राप्त करें

    मार्क्स की सॉर्ट की गई सूची प्राप्त करने के लिए $sort का उपयोग करें। केवल दो दस्तावेज प्रदर्शित करने के लिए जिनमें सबसे कम मार्क्स हैं, $limit: 2 का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo709.insertOne({Name:John,Marks:75}); { acknowledged : true, insertedId : ObjectId(

  1. - MongoDB क्वेरी: $or में मल्टीपल कंडीशन्स सेट करके दस्तावेज प्राप्त करें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo711.insertOne({Name:John,Marks:75,Age:21,status:Active}); { acknowledged : true, insertedId : ObjectId(5ea85c215d33e20ed1097b7e) } > db.demo711.insertOne({Name:Chris,Marks:55,Age:22,status:Active}); { acknowledged : true, insertedId : Objec

  1. - MongoDB क्वेरी: फॉर्मूला के साथ कलेक्शन में प्रत्येक डॉक्यूमेंट के प्रत्येक फील्ड को अपडेट करें

    कलेक्शन में प्रत्येक डॉक्यूमेंट के प्रत्येक फील्ड को फॉर्मूला के साथ अपडेट करने के लिए MongoDB update() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo749.insertOne({details:[{ id:1,a:10},{id:2,a:5},{id:3,a:20}]}); { acknowledged : true, insertedId : ObjectId(5eae6fb0a930c785c834e565) } find(