2
위도와 경도가 지정된 문서 모음이 있다고 가정 해 보겠습니다.GeoNear() MongoDB 메서드에서 일부 문서를 건너 뛸 수있는 방법이 있습니까?
type is specified:
{
id: ObjectId,
location : {double, double}, /*array, that contains
just longitude and latitude*/
someUsefulData : string
}
50 마일 지역에있는 모든 문서를 가져와야합니다. 이 목적을 위해 나는 그런 방법을 사용하고있다 :
// set GetNear() options
var options = new GeoNearOptionsBuilder()
.SetMaxDistance(50) // meens 50 miles
.SetSpherical(true);
// create conditions query
var conditions = Query.NE("someUsefulData ", $ne : {null});
// execute GetNear()
var geoNearResult = collection
.GeoNear(conditions, longitude, latitude, limit, options);
이 부분은 잘 동작한다.
하지만.
필자는 고전적인 페이징 구현을 위해 처음부터 약간의 결과를 건너 뛰고 싶습니다. GeoNear()가 MongoCursor가 아닌 GeoNearResult를 반환한다는 사실을 고려할 때, 누군가가 이것을 수행하는 방법을 알고있을 수 있습니다. 예를 들어 SetSkip (20)을 사용할 수 없습니다.
아시다시피 geoNear는 커서를 반환하지 않지만 데이터를 반환합니다. 따라서이 명령을 실행하면 제한에서 지정한 데이터의 전체 양이 db에서로드됩니다. 내가 틀렸어? –
그건 그렇고, 링크 주셔서 감사합니다, 내가 필요한 것입니다. 이제는 geoear를 건너 뛸 수있는 방법이 없다는 것을 알고 있습니다. –