1
$polygon
검색을 사용하여 지형 공간 쿼리를 수행하고 있습니다. 내 질문은 다음과 같습니다다각형과 몽구스를 사용하는 지형 공간 쿼리에있어 문제점은 무엇입니까?
{
'location_latLong': {
'$within': {
'$polygon': {
point1: {
lon: '-74.2621',
lat: '40.5788'
},
point2: {
lon: '-74.2621',
lat: '40.8494'
},
point3: {
lon: '-73.7499',
lat: '40.8494'
},
point4: {
lon: '-73.7499',
lat: '40.5788'
}
}
}
}
}
, 나는 명확하게 다각형 내에있는 문서가 있습니다
{
"_id": ObjectId("4e95c285cb8a0efc2b00001a"),
"addedOn": Date(1318437509839),
"checkinDate": Date(1318392000000),
"checkinTime": Date(1318437476000),
"location_city": "New York",
"location_country": "United States",
"location_latLong": {
"xLon": -74.007124,
"yLat": 40.71455
},
"location_source": "personprofile",
"location_state": "New York",
"location_zip": ""
}
을 나는 location_latLong
에 2d
인덱스가 있습니다. 나는 MongoDB가 (아마도) 핵심 이름을 무시하므로 중요하지 않아야한다는 것을 알고있다. 그러면 왜 이것이 0 개의 결과를 반환합니까? 코멘트에서 권장
편집 나는 단지 explain
를 실행하고 나는 얻을 :
{
"cursor" : "GeoBrowse-polygon",
"nscanned" : 0,
"nscannedObjects" : 0,
"n" : 0,
"millis" : 0,
"nYields" : 0,
"nChunkSkips" : 0,
"isMultiKey" : false,
"indexOnly" : false,
"indexBounds" : {
"location_latLong" : [
[
[
0,
0
],
[
0.000021457672119140625,
0.000021457672119140625
]
],
[
[
-0.000021457672119140625,
-0.000021457672119140625
],
[
0,
0
]
],
[
[
-0.000021457672119140625,
0
],
[
0,
0.000021457672119140625
]
],
[
[
0,
-0.000021457672119140625
],
[
0.000021457672119140625,
0
]
]
]
},
"keysChecked" : NumberLong(8),
"lookedAt" : NumberLong(4),
"matchesPerfd" : NumberLong(0),
"objectsLoaded" : NumberLong(0),
"pointsLoaded" : NumberLong(0)
}
이 쿼리는 좋은 것처럼 보입니다. 정확한 문제는 아님 ... 오류 메시지가 나타 났습니까? 인덱스에서 최소/최대 경계를 지정 했습니까? – RameshVel
인덱스에 최소/최대 경계를 지정하지 않았으므로 -180이어야합니다. 기본적으로 180, 아니요? – Shamoon
방정식에서 몽구스를 제거하고'.explain()'을 사용하여 쉘에서 이것을 실행할 수 있습니까? 무슨 일이 일어나는지 명확히 할 수 있습니다. –