2014-02-10 2 views
0

maxDistance가 1km 인 geoNear에 대한 모델을 어떻게 쿼리합니까?GeoNear with Mongoose

이 내 몽구스 스키마입니다 - 나는 시도

var userDestinationSchema = mongoose.Schema({ 

    uid: String,     
    update_time: Date,   

    location:{     //<INDEXED as 2d> 
     lon: Number, 
     lat: Number 
    } 
}); 



var userDestinationModel = mongoose.model('userDestinationModel', userDestinationSchema); 

는이 일을하고 그것은 작동하지 않습니다.

userDestinationModel.geoNear([parseInt(req.params.lon,10),parseInt(req.params.lat,10)], 
       { maxDistance : 1, spherical : true }, 
       function(err, results, stats) { 
        console.log(results); 
       }); 


하지만spherical : true를 제거 할 때 작동합니다.

maxDistance의 단위는 얼마입니까? // 답변 : 레거시 좌표의 경우 Radian.

DataSample :

{ _id: ObjectId("52f89d8cdbe6f9ea80344fd9"), location: { lon: 165, lat: 165 }, uid: "testuser2", update_time: ISODate("2014-02-10T09:36:12.705Z") } 
{ _id: ObjectId("52f89d97dbe6f9ea80344fda"), location: { lon: 166, lat: 166 }, uid: "testuser3", update_time: ISODate("2014-02-10T09:36:23.236Z") } 
{ _id: ObjectId("52f8a16edbe6f9ea80344fdb"), location: { lon: 164, lat: 164 }, uid: "testuser4", update_time: ISODate("2014-02-10T09:52:46.464Z") } 
{ _id: ObjectId("52f8a173dbe6f9ea80344fdc"), location: { lon: 164, lat: 164 }, uid: "testuser1", update_time: ISODate("2014-02-10T09:52:51.125Z") } 
{ _id: ObjectId("52f8a17fdbe6f9ea80344fdd"), location: { lon: 165, lat: 165 }, uid: "testuser7", update_time: ISODate("2014-02-10T09:53:03.365Z") } 

답변

2

단위는 미터, 그래서 당신이 정확한 답을 얻기되지 않을 수 있습니다. km를 들어 50*1000

를 지정하고 아마 당신은이에 따라 질의 문서를 편집해야 여전히 결과가 없습니다

http://docs.mongodb.org/manual/reference/command/geoNear/

{ near: POINT_COORDINATES.....

+0

합니다. 나는 몽구스를 사용하고있다. – rahulroy9202

+0

질문을 적어주세요. 샘플 데이터로 업데이트했습니다. http://mongoosejs.com/docs/api.html#model_Model.geoNear – rahulroy9202

+0

거리가 라디안으로 표시되도록 기존 좌표를 사용하고 있습니다. – rahulroy9202