한 지점의 위/경도를 가져와 가까운 지점을 지도의 원하는 위치 찍으려고 한다. 과연 어떻게 가져와야할까 ?
몽고디비에는 공간과 관련한 쿼리가 존재한다. 단순히 해당 위/경도를 찾을 수도 있고, max distance를 설정하고 그 지점 안의 모든 좌표를 찾을 수도 있고, 가까운 곳을 찾을 수도 있다.
db.collection.find({ $near: {
$geometry: {
type: 'Point',
coordinates: [경도, 위도]
}
}
})
{ $nearSphere: {
$geometry: {
type: 'Point',
coordinates: [경도, 위도]
},
$maxDistance: 미터,
} }
{ $geoWithin: { $center: [[경도, 위도], 라디안] } }
{ $geoWithin: { $box: [[경도, 위도], [경도, 위도]] } }