$nearSphere
으로 쿼리를 만들었는데 가끔 상당의 결과 (1000+)가 내 앱 성능에 영향을줍니다.
.limit()
을 사용해 보았지만 쿼리에서 무시 된 것 같습니다. 또한 batch_size()
을 사용해 보았지만 반환 된 결과의 수에 전혀 영향을주지 않는 것으로 보입니다.
반환되는 결과를 제한하는 해킹이나 방법이 있습니까? 내가 사용
query = {"location": {
"$nearSphere": {"$geometry": {"type": "Point", "coordinates"
[geo['lat'], geo['lng']]}, "$maxDistance": 500}}}
coll.find(query).limit(4).batch_size(4)
:
for r in xrange(0,limit):
print res.next()
쿼리 자체가 매우 간단합니다 : 내가 반복자와 실행에 대한 생각이 나는했습니다과 성능에 대한 좋은 보이지 않는 무엇이다 Azure Cosmos-db의 Mongodb API
매우 이상하게도 거의 동일한 쿼리를 사용하고 있으며 제한이 무시되는 것을 볼 수 있습니다. 내 DB에 위치 속성은 다음과 같습니다'\t \t "위치": { \t \t \t "유형": "포인트", \t \t \t "좌표"[ \t \t \t \t 34.780659466136484, \t \t \t \t 32.08260571073972 \t \t \t] \t \t은}'어쩌면 형식의 문제는? –
또한 내 쿼리가 "location.coordinates"가 아닌 "location"에 있다는 사실과 관련이있을 수 있습니까? "location.coordinates"에 0 개의 결과가 표시됩니다. –
minDistance 및 maxDistance 값을 가지고 놀아보십시오. 정의중인 모양과 겹치지 않을 수도 있습니다. – alekseys