⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

MongoDB地理空间查询

利用地理空间索引和查询实现位置邻近搜索、范围查询等功能。 · 难度:入门 · +15XP

地理空间数据

MongoDB 支持 GeoJSON 对象格式,可以存储点、线、多边形等地理数据。通过 2dsphere 索引实现高效的空间查询。

GeoJSON 格式

{ "type": "Point", "coordinates": [经度, 纬度] }
{ "type": "Polygon", "coordinates": [[ [lng1,lat1], [lng2,lat2], ... ]] }

创建 2dsphere 索引

db.places.createIndex({ location: '2dsphere' });

常用查询

示例:查找附近咖啡馆

db.places.find({
  location: {
    $near: {
      $geometry: { type: 'Point', coordinates: [116.397, 39.907] },
      $maxDistance: 1000  // 单位米
    }
  }
}).limit(5);

表格:地理操作符

操作符说明
$near返回最近的点(需索引)
$geoWithin查找位于区域内的点
$geoIntersects查找与指定区域相交的几何

练习提示: 创建一个包含若干地标(如故宫、天安门)的集合,查询距离天安门 5km 内的所有地标。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 83 篇
0 完成
🔥 0