MST

星途 面试题库

面试题:MongoDB地理空间查询之中等难度题

假设有一个集合存储了城市的位置信息,每个文档包含城市名称和经纬度坐标(使用GeoJSON格式)。现在要求查询距离指定坐标点100公里范围内的所有城市,写出对应的MongoDB查询语句。
19.8万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

假设集合名为cities,文档结构类似:

{
    "cityName": "城市名",
    "location": {
        "type": "Point",
        "coordinates": [经度, 纬度]
    }
}

查询距离指定坐标点(假设为[指定经度, 指定纬度])100公里范围内的所有城市的MongoDB查询语句如下:

db.cities.find({
    location: {
        $near: {
            $geometry: {
                type: "Point",
                coordinates: [指定经度, 指定纬度]
            },
            $maxDistance: 100000 // 100公里转换为米,1公里 = 1000米
        }
    }
});