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

推荐订阅源

Google DeepMind News
Google DeepMind News
罗磊的独立博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI
云风的 BLOG
云风的 BLOG
T
The Blog of Author Tim Ferriss
Y
Y Combinator Blog
A
About on SuperTechFans
WordPress大学
WordPress大学
B
Blog
Martin Fowler
Martin Fowler
Jina AI
Jina AI
I
InfoQ
P
Proofpoint News Feed
小众软件
小众软件
S
SegmentFault 最新的问题
V
V2EX
B
Blog RSS Feed
量子位
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
MongoDB | Blog
MongoDB | 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