2015-10-10 8 views
5

मैं - के name द्वारा mongoose-paginate और NodeJS के साथ सॉर्ट करना चाहता हूं।संदर्भित दस्तावेज़ द्वारा mongoose-paginate सॉर्टिंग

मेरे समूह स्कीमा:

var GroupSchema = new Schema({ 
     name: String, 
     flight_date: Date, 
     .... 
     departure_country: {type: Schema.ObjectId, ref: 'Country'}, 
     .... 
    }); 

देश-स्कीमा:

var CountrySchema = new Schema({ 
    name: String, 
    code: String, 
}); 

का उपयोग sortBy देश की _ids द्वारा नेवला-पृष्ठ पर अंक लगाना प्रकार के -option और मैं डॉन ' टी name द्वारा क्रमबद्ध करने के लिए इसे बताना है।

+0

आप 'sortBy' कैसे लागू करते हैं? –

+0

'sortBy ({depart_country: -1}) 'अभी – molerat

+0

क्या आपने' {"depart_country.name": -1} 'कोशिश की है? –

उत्तर

0

देश कोड को देश-स्कीमा का _id बनाने के बारे में कैसे?

तो departure_country: {type: String, ref: 'Country'}

वास्तव में एक बेहतर डिजाइन हो सकता है यही कारण है कि। Country-Schema एस _आईडी छोटा होगा, और देश कोडों में टक्कर नहीं होनी चाहिए। GroupSchema में आप "विदेशी कुंजी" departure_country स्टोर करने के लिए कम स्थान का उपयोग करेंगे।

तो आप departure_country द्वारा क्रमबद्ध करने में सक्षम होंगे और एक मौका भी देश के नाम के लिए मान्य होगा।

+0

कभी-कभी मुझे नाम या प्रदर्शित करने की आवश्यकता होती है देश के साथ-साथ – molerat

+0

@molerat नहीं सोचता कि ऐसा करने का एक तरीका है क्योंकि आप पॉप्युलेट कर रहे हैं। आपको इसे नोडजेस की तरफ करना होगा। http://underscorejs.org के लिए इसके लिए अच्छे कार्य हैं। sortby या यहां तक ​​कि समूह भी उपयोगी हो सकता है। – kio

+0

यदि आपको 10000 प्रविष्टियों में से 50 मिलते हैं और केवल उनको सॉर्ट करते हैं, तो आपके पास 10000 सॉर्टिंग और फिर 50 चुनने के समान परिणाम नहीं होंगे। – molerat

संबंधित मुद्दे