MongoDB में cursor.sort() का उपयोग करके परिणाम ऑर्डर करना
MongoDB में cursor.sort() मेथड क्वेरी परिणामों को लौटाने के क्रम को निर्दिष्ट करता है। कर्सर db.collection.find() से प्राप्त होता है।
सैंपल डेटा बनाना
> db.demo259.insertOne({"Subject":"MySQL"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e47ae1f1627c0c63e7dba98") }
> db.demo259.insertOne({"Subject":"Java"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e47ae231627c0c63e7dba99") }
> db.demo259.insertOne({"Subject":"MongoDB"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e47ae281627c0c63e7dba9a") }
दस्तावेज़ देखना (इंसर्शन ऑर्डर)
> db.demo259.find();
आउटपुट:
Subject द्वारा आरोही सॉर्ट
> db.demo259.find().sort({"Subject":1});आउटपुट (वर्णमाला क्रम):
सॉर्ट पैरामीटर
{ field: 1 }- आरोही (Ascending){ field: -1 }- अवरोही (Descending){ field1: 1, field2: -1 }- एकाधिक फ़ील्ड्स (पहले field1 द्वारा, फिर field2 द्वारा)
सॉर्ट और इंडेक्स
- सॉर्ट ऑपरेशन इंडेक्स का उपयोग कर सकता है यदि सॉर्ट पैटर्न इंडेक्स से मेल खाता है
- इंडेक्स के बिना, MongoDB को मेमोरी में सॉर्ट करना पड़ता है (32MB लिमिट)
- बड़े परिणाम सेट के लिए इंडेक्स बनाएं:
db.demo259.createIndex({ Subject: 1 })
कर्सर मेथड चेनिंग
> db.demo259.aggregate([
{ $sort: { Subject: 1 } },
{ $limit: 10 }
]);
नोट
शीर्षक में "cursor.sort()" उल्लेखित है, लेकिन व्यवहार में find().sort() का उपयोग किया जाता है जो आंतरिक रूप से कर्सर पर sort() लागू करता है।