表示しているコードが
問題は、一部の$ nearクエリが、範囲外のレガシー座標で呼び出されたときにMongoDBサーバーをクラッシュさせることでした。
範囲外の座標を送信している可能性があります。最大距離で$nearクエリを実行するときに経度と緯度をチェックするコードの部分(GeoParser::parsePointWithMaxDistance
geoparser.cpp
のメソッド ):
bool isValidLngLat(double lng, double lat) {
return lat >= -90 && lat <= 90 && lng >= -180 && lng <= 180;
}
座標が範囲外の場合centroid.flatUpgradedToSphere
falseになり、エラーが発生します。
座標を範囲内に変更するか、spherical
を設定する必要があります このエラーが発生しないようにするには、パラメータをfalseに設定します。
Query.Near("Location", location.Geography.Longitude,
location.Geography.Latitude, location.Radius / 6371000, false)