आप db.eval
. का उपयोग करना चाह सकते हैं यदि आप डेटाबेस-साइड पर ऐसा करने के लिए दृढ़ हैं।
दूसरे प्रश्न से निकाला गया उत्तर:
<ब्लॉकक्वॉट>मुझे नहीं लगता कि यह सीधे संभव है; सॉर्टडॉक्यूमेंटेशन निश्चित रूप से कस्टम तुलना फ़ंक्शन प्रदान करने के किसी भी तरीके का उल्लेख नहीं करता है।
आप क्लाइंट में सॉर्ट करना शायद सबसे अच्छा कर रहे हैं, लेकिन यदि आप सर्वर पर इसे करने के लिए वास्तव में दृढ़ हैं तो आप db.eval()
का उपयोग करने में सक्षम हो सकते हैं सर्वर पर सॉर्ट चलाने की व्यवस्था करने के लिए (यदि आपका क्लाइंट इसका समर्थन करता है)।
सर्वर-साइड सॉर्ट:
db.eval(function() {
return db.scratch.find().toArray().sort(function(doc1, doc2) {
return doc1.a - doc2.a
})
});
समकक्ष क्लाइंट-साइड सॉर्ट बनाम:
db.scratch.find().toArray().sort(function(doc1, doc2) {
return doc1.a - doc2.b
});