2017-03-25 2 views
1

MongoDB Mongoose를 처음 사용하고 상점 위치를 정렬 할 수 있는지 여부를 알 수 없습니다. 나는이 쿼리를 시도했다MongoDB Mongoose에서 채워지는 참조의 종류에 따라 문서를 정렬하는 방법은 무엇입니까?

shop.find({},{'shopName':1,'shopLocationId':1}) 
    .populate({path:'shopLocationId',match:{loc:{$nearSphere:{$geometry:{type:'Point',coordinates:[50,55]}}}},select:'loc -_id'}) 
.exec(function (err,shops) { 
     if (err) 
      throw err 
     console.log(shops.toString()) 

     }) 
    }) 

그러나 나는 결과가 잘못된 정렬 된 결과 만 얻는다.

var ShopSchema = new Schema({ 
    shopName: {type: String}, 
    shopLocationId: {type: Schema.Types.ObjectId, ref: 'location'} 
}) 
var LocationSchema = new Schema({ 
    loc:{type: Schema.Types,`enter code here` 
     coordinates :[ Number]}, 
    locationName:{ type: String 
    } 
}) 

답변

0

당신은 옵션으로 일종의 추가 할 수는 $ nearspher 가리키고 .populate(..., options: { sort: { 'fieldToSort': 'descending' } })

+0

왜 내가 일종의 추가 할 필요가 없습니다 좌표 축복하는 문서를 정렬 : { 'fieldToSort': '내림차순'} 감사합니다 당신은 너무 많이 –

+0

@ NazimKissi 다음 위치를 채운 후에'.sort()'를 사용하고 싶을 것입니다. 이것은 당신의 선택 분야에 따라 상점을 분류 할 것입니다 –

+0

는 @ Ryan Endacot 일 수 있습니다 당신은 답을 가지고 있습니다 –

관련 문제