[MONGODB] 두 점 사이의 MongoDB를 인쇄 거리
MONGODB두 점 사이의 MongoDB를 인쇄 거리
내가 MongoDB를에이 쿼리를 발사하고, 내가 지정한 좌표 500 마일 근처에있는 모든 장소를 얻고있다. 하지만 지정된 좌표와 결과 위치 사이의 정확한 거리를 알고 싶어합니다.
db.new_stores.find({ "geometry": { $nearSphere: { $geometry: { type: "Point", coordinates: [ -81.093699, 32.074673 ] }, $maxDistance: 500 * 3963 } } } ).pretty()
내 출력 외모가 좋아 :
{
"_id" : ObjectId("565172058bc200b0db0f75b1"),
"type" : "Feature",
"geometry" : {
"type" : "Point",
"coordinates" : [
-80.148826,
25.941116
]
},
"properties" : {
"Name" : "Anthony's Coal Fired Pizza",
"Address" : "17901 Biscayne Blvd, Aventura, FL"
}
}
또한 지정된 좌표에서이 장소의 거리를 알고 싶어요. 나는 기하학에 2dsphere 인덱스를 만들었습니다.
해결법
-
==============================
1.당신은 쿼리 지점에서 거리를 생산하기 위해 $ geoNear 집계 파이프 라인 단계를 사용할 수 있습니다 :
당신은 쿼리 지점에서 거리를 생산하기 위해 $ geoNear 집계 파이프 라인 단계를 사용할 수 있습니다 :
db.new_stores.aggregate([ { "$geoNear": { "near": { "type": "Point", "coordinates": [ -81.093699, 32.074673 ] }, "maxDistance": 500 * 1609, "spherical": true, "distanceField": "distance", "distanceMultiplier": 0.000621371 }} ]).pretty()
이것은 당신이 조회 된 지점까지의 거리를 포함하는 출력 문서에 다른 필드를 생성합니다 "distanceField"을 지정할 수 있습니다. 필요에 따라 또한 출력 거리에있는 변환을 적용하는 "distanceMultiplier"를 사용할 수 있습니다 (마일 즉 미터 및 지적 모든 GeoJSON 거리가 미터에 반환됩니다)
이 비슷한 옵션과 함께 geoNear 명령도하지만, 물론 그것은 출력으로 커서를 반환하지 않습니다.
from https://stackoverflow.com/questions/33864461/mongodb-print-distance-between-two-points by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를 단일 쿼리로 여러 카운트 (0) | 2019.12.10 |
---|---|
[MONGODB] 나는 MongoDB에 대한 쿼리에 정규식 변수를 사용하는 방법 (0) | 2019.12.10 |
[MONGODB] 어떻게 유성 외부 MongoDB의 인스턴스에 연결하는? (0) | 2019.12.10 |
[MONGODB] MongoDB를 $ 또는 쿼리 (0) | 2019.12.10 |
[MONGODB] 업데이트 및 반환 문서에서 MongoDB를 (0) | 2019.12.10 |