2015-10-10 16 views
5

Tôi muốn sắp xếp Group -Mô hình của mình theo name của departure_country với mongoose-paginate và NodeJS.phân loại mongoose-paginate theo tài liệu được tham chiếu

My Nhóm-Schema:

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

Các Nước-Schema:

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

Sử dụng sortBy -option các loại cầy mangut-paginate bởi nước của _ids và tôi don' t biết cách phân loại nó theo name.

+0

Bạn áp dụng 'sortBy' như thế nào? –

+0

'sortBy ({departure_country: -1})' ngay bây giờ – molerat

+0

Bạn đã thử '{" departure_country.name ": -1}'? –

Trả lời

0

cách đặt mã quốc gia là _id của Country-Schema?

sau đó departure_country: {type: String, ref: 'Country'}

Đó thực sự có thể là thiết kế tốt hơn. Country-Schema s _id sẽ nhỏ và mã quốc gia không nên có xung đột. Cũng trong số GroupSchema, bạn sẽ sử dụng ít không gian hơn để lưu "khóa ngoại" departure_country.

thì bạn có thể sắp xếp theo departure_country và có khả năng sắp xếp cũng sẽ hợp lệ đối với tên quốc gia.

+0

đôi khi tôi cần hiển thị hoặc thậm chí sắp xếp theo tên đất nước cũng như – molerat

+0

@ molerat không nghĩ rằng có một cách để làm điều đó kể từ khi bạn đang dân cư. bạn phải làm điều đó ở phía nodejs. http://underscorejs.org có các chức năng tốt cho điều đó. sortBy hoặc thậm chí groupBy có thể hữu ích. – kio

+0

Nếu bạn nhận được 50 trong số 10000 mục nhập và sắp xếp những mục đó, bạn sẽ không có kết quả tương tự như khi sắp xếp 10000 và sau đó chọn 50. – molerat

Các vấn đề liên quan