MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगो जटिल छँटाई?

अद्यतन करें: यह उत्तर पुराना प्रतीत होता है; ऐसा लगता है कि $project . का उपयोग करके कस्टम सॉर्टिंग कमोबेश हासिल की जा सकती है छँटाई से पहले इनपुट दस्तावेज़ों को बदलने के लिए एकत्रीकरण पाइपलाइन का कार्य। @ अरी का जवाब भी देखें।

मुझे नहीं लगता कि यह सीधे संभव है; सॉर्ट दस्तावेज़ निश्चित रूप से कस्टम तुलना फ़ंक्शन प्रदान करने के किसी भी तरीके का उल्लेख नहीं करता है।

आप शायद क्लाइंट में सॉर्ट करना सबसे अच्छा कर रहे हैं, लेकिन यदि आप सर्वर पर इसे करने के लिए वास्तव में दृढ़ हैं, तो आप 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 
});

ध्यान दें कि एक एकत्रीकरण पाइपलाइन और $orderby द्वारा क्रमबद्ध करना भी संभव है ऑपरेटर (यानी .sort() . के अलावा ) हालांकि इनमें से कोई भी तरीका आपको कस्टम सॉर्ट फ़ंक्शन प्रदान नहीं करने देता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्या MongoDB जर्नलिंग स्थायित्व की गारंटी देता है?

  2. MongoDB में आंतरिक सरणी आकार को क्वेरी करना

  3. मोंगोडीबी मैप्रिडस में, मैं वैल्यू ऑब्जेक्ट को कैसे फ़्लैट कर सकता हूं?

  4. दस्तावेज़ों के नेस्टेड सरणी में एम्बेडेड दस्तावेज़ निकालें

  5. Mongoimport का उपयोग करके फ़ाइल से mongodb में json आयात करना