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

MongoDb 2.6.1 Fejl:17444 - Ældret punkt er uden for grænserne for sfærisk forespørgsel

Du bruger MongoDB 2.6.1 eller nyere, fordi den kode, du ser på, blev tilføjet som en rettelse til en JIRA-13666 problem.

Problemet var, at nogle $near-forespørgsler ville crashe MongoDB-serveren, når de blev kaldt med ældre koordinater, der er uden for rækkevidde.

Du sender sandsynligvis koordinater, der er uden for rækkevidde. Den del af koden, der kontrollerer længde- og breddegrad, når der udføres $near-forespørgsler med maks. afstand (GeoParser::parsePointWithMaxDistance metode i geoparcerpp. ):

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

Hvis koordinaterne er uden for området centroid.flatUpgradedToSphere vil være falsk, og det vil forårsage den fejl, du modtager.

Du bør enten ændre dine koordinater til at være inden for rækkevidde eller indstille spherical parameter til false for at undgå at få denne fejl.

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



  1. MongoDB-sammenlægning på Loopback

  2. OpenSSL ikke fundet på MacOS Sierra

  3. Sådan opdaterer du et bestemt array-element i MongoDB

  4. Hvordan bruger man $lookup som INNER JOIN i MongoDB Aggregation?