sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDb 2.6.1 Error:17444:el punto heredado está fuera de los límites para la consulta esférica

Está utilizando MongoDB 2.6.1 o superior porque el código que está viendo se agregó como una solución para un JIRA-13666 tema.

El problema era que algunas consultas $near colapsaban el servidor MongoDB cuando se llamaba con coordenadas heredadas que estaban fuera de rango.

Probablemente estés enviando coordenadas que están fuera de rango. La parte del código que verifica la longitud y la latitud cuando se realizan consultas $near con distancia máxima (GeoParser::parsePointWithMaxDistance método en geoparser.cpp ):

bool isValidLngLat(double lng, double lat) {
    return lat >= -90 && lat <= 90 && lng >= -180 && lng <= 180;
}

Si las coordenadas están fuera de rango centroid.flatUpgradedToSphere será falso y eso causará el error que está recibiendo.

Debe cambiar sus coordenadas para estar dentro del rango o establecer spherical parámetro a falso para evitar obtener este error.

Query.Near("Location", location.Geography.Longitude, 
           location.Geography.Latitude, location.Radius / 6371000, false)