我有一个从 csv 文件导入的非常大的数据库(约 600 万行)。我正在查看 MongoDB 和他们关于 GeoSpatial indexing 的文档。您需要将纬度和经度字段嵌入到数组中。不幸的是,我导入的结构具有单独的字段。
“纬度”:54.770233,“经度”:-6.537741,
是否有任何可能的方法来查询数据库以使用纬度 54 和经度 -6 计算 25 英里半径内的 20 个最近的文档。
我在 MySQL 中很好地创建了查询:
选择 * , ( 3959 * ACOS( COS( RADIANS( 54 ) ) * COS( RADIANS( latitude
) ) * COS( RADIANS( longitude
) - RADIANS( -6 ) ) + SIN( RADIANS( 54 ) ) * SIN( RADIANS( latitude
) ) ) ) AS distance FROM table_name HAVING distance <25 ORDER BY distance LIMIT 0 , 20
但是,我不确定如何在没有嵌入字段的情况下在 Mongo 中执行此操作。
任何帮助将非常感激。