MST

星途 面试题库

面试题:MongoDB地理空间查询之基础查询类型及实现

在MongoDB中,简述两种常见的地理空间查询类型,并举例说明如何使用`$near`操作符进行基于地理位置的查询,假设已有一个集合存储了城市的经纬度信息。
33.1万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试
  1. 两种常见的地理空间查询类型

    • 基于距离的查询:查找与某个特定地理位置点距离在一定范围内的文档。例如,查找距离某个城市100公里内的所有商店。
    • 基于几何形状的查询:比如查找位于某个多边形区域内的所有地点,像查找位于某个行政区域多边形内的所有学校。
  2. 使用$near操作符进行基于地理位置的查询: 假设集合cities存储了城市的经纬度信息,文档格式类似{name: "CityName", location: [longitude, latitude]}

db.cities.find({
    location: {
        $near: {
            $geometry: {
                type: "Point", 
                coordinates: [yourLongitude, yourLatitude]
            },
            $maxDistance: yourMaxDistanceInMeters
        }
    }
});

在上述示例中,[yourLongitude, yourLatitude]替换为目标查询的经纬度,yourMaxDistanceInMeters替换为期望的最大距离(单位为米)。