MongoDB में किसी फील्ड का न्यूनतम मान वाला दस्तावेज़ प्राप्त करने के लिए sort() के साथ limit(1) का उपयोग करें।
उदाहरण
विभिन्न मान वाले दस्तावेज़ बनाएं:
> db.findMinimumValueDemo.insertOne({"Value": 1004});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdfd61abf3115999ed51208") }
> db.findMinimumValueDemo.insertOne({"Value": 983});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdfd61ebf3115999ed51209") }
> db.findMinimumValueDemo.insertOne({"Value": 990});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdfd622bf3115999ed5120a") }
> db.findMinimumValueDemo.insertOne({"Value": 1093});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdfd626bf3115999ed5120b") }
> db.findMinimumValueDemo.insertOne({"Value": 10090});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdfd62fbf3115999ed5120c") }
सभी दस्तावेज़ देखें:
> db.findMinimumValueDemo.find();
{ "_id" : ObjectId("5cdfd61abf3115999ed51208"), "Value" : 1004 }
{ "_id" : ObjectId("5cdfd61ebf3115999ed51209"), "Value" : 983 }
{ "_id" : ObjectId("5cdfd622bf3115999ed5120a"), "Value" : 990 }
{ "_id" : ObjectId("5cdfd626bf3115999ed5120b"), "Value" : 1093 }
{ "_id" : ObjectId("5cdfd62fbf3115999ed5120c"), "Value" : 10090 }
न्यूनतम मान वाला दस्तावेज़ प्राप्त करें
> db.findMinimumValueDemo.find().sort({Value: 1}).limit(1);
आउटपुट:
{ "_id" : ObjectId("5cdfd61ebf3115999ed51209"), "Value" : 983 }
व्याख्या:
sort({Value: 1})- Value के आरोही क्रम में सॉर्ट (सबसे छोटा पहले)limit(1)- केवल पहला दस्तावेज़ लौटाता है
अन्य तरीके
एग्रीगेशन (अधिक लचीला)
db.findMinimumValueDemo.aggregate([
{$sort: {Value: 1}},
{$limit: 1}
])
न्यूनतम मान केवल प्राप्त करें (दस्तावेज़ नहीं)
db.findMinimumValueDemo.aggregate([
{$group: {_id: null, minValue: {$min: "$Value"}}}
])
इंडेक्स के साथ प्रदर्शन
db.findMinimumValueDemo.createIndex({Value: 1})
इंडेक्स होने पर sort + limit बहुत तेज होता है क्योंकि MongoDB इंडेक्स से सीधे पहला/अंतिम मान पढ़ सकता है।