sql >> データベース >  >> NoSQL >> MongoDB

MongoDb 2.6.1エラー:17444-レガシーポイントが球面クエリの範囲外です

    表示しているコードが JIRA-13666 問題。

    問題は、一部の$ 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)
    



    1. Spring DataMongoDBBigDecimalのサポート

    2. TypeError:パスは文字列またはバッファMEANスタックである必要があります

    3. Laravel:Redisの可用性を確認する方法は?

    4. Docker Composeを使用してRedisコンテナに接続するにはどうすればよいですか?