私はcsvファイルからインポートされた非常に大きなデータベース(6百万行まで)を持っています。 GeoSpatialのインデックス作成に関するMongoDBとそのドキュメントを調べていました。配列に埋め込まれた緯度と経度のフィールドが必要です。残念ながら、私がインポートした構造には、フィールドが別々です。MongoDB GeoSpatial埋め込み緯度経度フィールドのないクエリ
「緯度」:54.770233、 「経度」:-6.537741、
54と経度の緯度点を用いて、25マイルの半径内の20件の最も近いドキュメントを計算するためにDBを照会する任意の可能な方法はあります-6。私はMySQLの罰金にクエリを作成:
SELECT *、(3959 * ACOS(COS(RADIANS(54))* COS(RADIANS(latitude
))* COS(RADIANS(longitude
) - RADIANS( - 6))+ SIN(RADIANS(54))* SIN(RADIANS(latitude
))))距離 LIMIT 0、20
BY距離 ORDERしかし、私はわからない午前HAVING TABLE_NAME からの距離 AS埋め込みフィールドなしでMongoでこれを行う方法。
ご協力いただければ幸いです。
すべてのドキュメントを更新するために実行する正しいスクリプトは何でしょうか? – user1313125
私のサンプルコードでは 'find()。forEach(' ... ...)の部分です –
ありがとう、私は現在スクリプトを実行していますが、残念ながらかなり時間がかかるようです。別のデータベースでテストした後。 – user1313125