sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDb 2.6.1 Fel:17444 - Äldre punkt är utanför gränserna för sfärisk fråga

Du använder MongoDB 2.6.1 eller högre eftersom koden du tittar på lades till som en fix för en JIRA-13666 problem.

Problemet var att vissa $near-frågor kraschade MongoDB-servern när de anropades med äldre koordinater som ligger utanför räckvidden.

Du skickar förmodligen koordinater som ligger utanför räckhåll. Den del av koden som kontrollerar longitud och latitud när man gör $near-frågor med maxavstånd (GeoParser::parsePointWithMaxDistance metod i geoparserc.c">geoparserc. ):

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

Om koordinaterna ligger utanför intervallet centroid.flatUpgradedToSphere kommer att vara falskt och det kommer att orsaka felet du får.

Du bör antingen ändra dina koordinater så att de ligger inom intervallet eller ställa in spherical parametern till false för att undvika att få det här felet.

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



  1. Hur man väljer underdokument med MongoDB

  2. Distinkt antal av flera fält med mongodb-aggregation

  3. Hur gör man en fråga i denna kapslade dokumentstruktur (MongoDB)?

  4. Mongodb .net async väntar