MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDb 2.6.1 Błąd:17444 — Starszy punkt jest poza zakresem zapytania sferycznego

Używasz MongoDB w wersji 2.6.1 lub nowszej, ponieważ kod, na który patrzysz, został dodany jako poprawka dla JIRA-13666 kwestia.

Problem polegał na tym, że niektóre zapytania $near powodowały awarię serwera MongoDB, gdy były wywoływane ze starszymi współrzędnymi, które są poza zakresem.

Prawdopodobnie wysyłasz współrzędne, które są poza zasięgiem. Część kodu, która sprawdza długość i szerokość geograficzną podczas wykonywania zapytań $near z maksymalną odległością (GeoParser::parsePointWithMaxDistance metoda w geoparser.cpp ):

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

Jeśli współrzędne są poza zakresem centroid.flatUpgradedToSphere będzie fałszywe i spowoduje to otrzymany błąd.

Powinieneś albo zmienić swoje współrzędne, aby były w zakresie, albo ustawić spherical parametr na false, aby uniknąć otrzymania tego błędu.

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Problem z agregacją i grupowaniem MongoDB w MeteorJS

  2. nie można wykonać zapytania przez ListField(EmbeddedDocumentField)

  3. Nie udało się zaktualizować zagnieżdżonego dokumentu Mongoose?

  4. MongoDB findOneAndUpdate()

  5. Mongodb:zdobądź tylko liście drzewa