sql >> Databáze >  >> NoSQL >> MongoDB

Chyba MongoDb 2.6.1:17444 – Starší bod je mimo rozsah pro sférický dotaz

Používáte MongoDB 2.6.1 nebo vyšší, protože kód, na který se díváte, byl přidán jako oprava pro JIRA-13666 problém.

Problém byl v tom, že některé dotazy $near zhroutily server MongoDB, když byly volány se staršími souřadnicemi, které jsou mimo rozsah.

Pravděpodobně posíláte souřadnice, které jsou mimo dosah. Část kódu, která kontroluje zeměpisnou délku a šířku při provádění $near dotazů s maximální vzdáleností (GeoParser::parsePointWithMaxDistance metoda v geoparser.cpp.">geoparser.cpp. ):

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

Pokud jsou souřadnice mimo rozsah centroid.flatUpgradedToSphere bude false a to způsobí chybu, kterou dostáváte.

Měli byste buď změnit své souřadnice tak, aby byly v rozsahu, nebo nastavit spherical parametr na hodnotu false, abyste se vyhnuli této chybě.

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



  1. Cloudera Replication Plugin umožňuje replikaci na platformě x pro Apache HBase

  2. MongoDB:Je možné zachytit události TTL pomocí Change Stream pro emulaci plánovače (cronjob)?

  3. Zálohovat databázi meteorů pomocí mongodump?

  4. MongoDB a Asp Core aktualizují pouze pár klíč:hodnota namísto celého modelu