MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Errore MongoDb 2.6.1:17444 - Il punto legacy è fuori limite per la query sferica

Stai utilizzando MongoDB 2.6.1 o versioni successive perché il codice che stai guardando è stato aggiunto come correzione per un JIRA-13666 problema.

Il problema era che alcune query $near andavano in crash il server MongoDB quando venivano chiamate con coordinate legacy fuori portata.

Probabilmente stai inviando coordinate fuori portata. La parte del codice che controlla longitudine e latitudine quando si eseguono query $vicino con distanza massima (GeoParser::parsePointWithMaxDistance metodo in geoparser.cpp ):

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

Se le coordinate sono fuori dall'intervallo centroid.flatUpgradedToSphere sarà falso e ciò causerà l'errore che stai ricevendo.

Dovresti cambiare le tue coordinate in modo che rientrino nell'intervallo o impostare spherical parametro su false per evitare di ricevere questo errore.

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