惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
U
Unit 42
Y
Y Combinator Blog
I
InfoQ
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
量子位
Microsoft Security Blog
Microsoft Security Blog
B
Blog
The Cloudflare Blog
F
Fortinet All Blogs
Google DeepMind News
Google DeepMind News
MyScale Blog
MyScale Blog
C
Check Point Blog
S
SegmentFault 最新的问题
爱范儿
爱范儿
博客园 - 叶小钗
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
罗磊的独立博客
T
Tailwind CSS Blog

博客园 - shareach

博客搬家了,欢迎访问 http://blog.csdn.net/yinpengxiang/ IOS Storyboard使用-模拟登录、注册、混合使用 XCode 细点 蛋痛的C#和.net,采集问题(小数点) Mapbar POI 转 经纬度坐标的各个版本 MongoDB的主键类型修改,记录下 Android 自动化功能测试神器ChimpChat(MonkeyRunner) .Net C# 的一个bug(暂时命名为Bug) MongoDB的GeoSpatial索引 之 GeoNear命令,取得距离 Android + HTML开发手机应用 demo 代码 commonsware-Android平台可复用代码仓库 jqMobi + Android 试手 服务端通过设置 响应头允许其他域名跨域访问数据 Android上 用Html5做界面,javascript调用摄像头实例 Android 拍照加剪切处理方式 css3替代图片的尖角圆角效果 抛弃作为mongoDB做主存储的一些关键因素 ibatis3.06 + spring 3.06+velocity 整合的VSSI框架测试 基于即时更新的缓存策略设计草稿
MongoDB的GeoSpatial索引
shareach · 2012-05-02 · via 博客园 - shareach

最近一直在做基于LBS的项目,地标的坐标索引和基于坐标查询,一直没找到一种简单方便的方法,在做mongo索引优化的时发现竟然有Geo的索引

1. 创建字段

建议使用方式:{ loc : [ longitude , latitude] }

也可以:{ loc : { lon :longitude, lat:latitude } }

Loc自己决定,我用poi的

2. 建立索引,注意:每个Collection只能建立一个geospatial索引

db.places.ensureIndex( { loc : "2d" } , { min : -500 , max : 500 } )

如果db.places.ensureIndex( { loc : "2d" }), 默认值的范围是:-180到180,也就是经纬度的范围

3. 查询

注:1.默认会按距离排序;

2.转换 111.12 距离 (一度是大约 111.12 公里) 使用公里,或由 69 (对于英里)

3.1.默认取100条距离最近的点,注:默认是limit(100)

db.collection.find({loc:{$near :[ 30.28009,120.12857]}})

最新更新请见:http://www.shareach.com/?p=136