다음 pymongo 쿼리를 사용하여 MongoDB (3.0)에서 geoNear 데이터를 검색합니다. 나는 "1"을 통과 할 때 "거리"에 위치에 전달되고 나는 "maxDistance는"미터이어야한다 MongoDB를 문서에서 이해하고, 그래서PyMongo - MaxDistance 연산이 작동하지만 결과가 예상과 다릅니다.
def getNearestVoices(self, longitude, latitude, distance, userid=None, count='500'):
response = []
for doc in self.users.aggregate([{"$geoNear": {"near": [longitude, latitude],
"distanceField":"distance",
"maxDistance": (distance * 1000),
"distanceMultiplier": 6371,
"num": int(count),
"spherical": True}}]):
pass
이제 내 질문에 "거리 * 1000"를 사용하고 있습니다 거리에 대한 나의 기대는 1km 이하의 "거리"를 반환하는 것이지만 이것은 일어나지 않으며 모든 기록이 반환됩니다.
몽고문에서 "distance * 1000"을 "distance/1000"으로 변경하면 기록이 줄어들지 만 여전히 내 기대치와 일치하지 않는 것이 있습니다.
내 쿼리에서 무엇이 잘못되었는지 알 수 없습니다.
PS : 나는
"maxDistance": (distance/6371)
에 나를 위해 일한
"maxDistance": (distance * 1000)"
변경 떨어진
감사