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

उप-दस्तावेजों के आधार पर मोंगोडब क्वेरी परिणामों को कैसे क्रमबद्ध करें

आप cursor.sort() का उपयोग कर सकते हैं एक ही समय में एकाधिक फ़ील्ड (मूल रूप से एक कॉम्बो) को सॉर्ट करने के लिए, लेकिन मुझे नहीं लगता कि यह एक ही समय में दस्तावेज़ और उप-दस्तावेज़ फ़ील्ड दोनों पर सॉर्ट करते समय काम करता है। यदि आप शीर्ष दस्तावेज़ के दो अलग-अलग फ़ील्ड को सॉर्ट करना चाहते हैं या उप-दस्तावेज़ के दो अलग-अलग क्षेत्रों पर तो मुझे लगता है कि यह ठीक होगा।

तो आप एकत्रीकरण का उपयोग करके समान आउटपुट प्राप्त कर सकते हैं। रूपरेखा। आपको बस इतना करना है कि मूल रूप से subs . के सरणियों को तोड़ना है फ़ील्ड और फिर सॉर्ट उन्हें।

आप कुछ ऐसा कर सकते हैं:

db.col.aggregate({$unwind:'subs'}, {$sort:{id:1,'subs.time':1}});

उपरोक्त कोड के साथ आपको इसके समान आउटपुट मिलना चाहिए:

 { 
    id: 1, 
    type: 'strs', 
    subs: 
        { time: 1, val: 'ab' }
},{ 
    id: 1, 
    type: 'strs', 
    subs: 
        { time: 20, val: 'cs' }
},{ 
    id: 1, 
    type: 'strs', 
    subs: 
        { time: 50, val: 'be' }
},{ 
    id: 2, 
    type: 'newname', 
    subs: 
        { time: 12, val: 'a' }
},{ 
    id: 2, 
    type: 'newname', 
    subs: 
        { time: 20, val: 'b' }
},{ 
    id: 2, 
    type: 'newname', 
    subs: 
        { time: 30, val: 'c' }
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. विंडोज़ पर phpMongo ड्राइवर स्थापित करें

  2. Mongodb में किसी फ़ील्ड में सबस्ट्रिंग कैसे खोजें?

  3. मोंगो स्कीमा (एम्बेडिंग बनाम संदर्भ)

  4. Powershell के साथ जटिल क्वेरी MongoDB कैसे बनाएं?

  5. क्या MongoDB से कनेक्शन स्वचालित रूप से process.exit () पर बंद हो जाता है?