Je gebruikt MongoDB 2.6.1 of hoger omdat de code die je bekijkt is toegevoegd als een oplossing voor een JIRA-13666 kwestie.
Het probleem was dat sommige $near-query's de MongoDB-server zouden laten crashen wanneer ze werden aangeroepen met verouderde coördinaten die buiten bereik zijn.
Je verzendt waarschijnlijk coördinaten die buiten bereik zijn. Het deel van de code dat de lengte- en breedtegraad controleert bij het uitvoeren van $near-query's met maximale afstand (GeoParser::parsePointWithMaxDistance
methode in geoparser.cpp
):
bool isValidLngLat(double lng, double lat) {
return lat >= -90 && lat <= 90 && lng >= -180 && lng <= 180;
}
Als de coördinaten buiten het bereik liggen centroid.flatUpgradedToSphere
zal onwaar zijn en dat zal de fout veroorzaken die u ontvangt.
Je moet ofwel je coördinaten veranderen om binnen bereik te zijn of spherical
. instellen parameter op false om deze fout te voorkomen.
Query.Near("Location", location.Geography.Longitude,
location.Geography.Latitude, location.Radius / 6371000, false)