MongoDB的地理位置索引
背景
我们平常打开一些App的时候,经常有一个“查询周边景点”的功能,如我在高德里面就查询到了附近的景点。
这种计算如果通过普通的关系型数据库,那对服务器和数据库的性能要求就太高了。
我们可以通过MongoDB自带的地址位置索引来实现。
如何使用
前期准备:插入数据
我们先插入四条数据,即店铺的类型,名称和地理位置。注意地理位置的第一个数值表示精度(范围为-100到100),第二个数值表示纬度(范围为-90到90)。
查询结果
下图的语句是查询在经纬度为50和50位置附近的店铺,但我们看到是报错了,理由是我们要新建字段loc上面的地理索引。
建立地理索引的步骤如下: (也就是在loc字段上面建立地理位置索引)
我们重复执行刚才的语句,发现成功啦。
现在我们写一个稍微复杂的场景,我们要搜索在位置(50,50)附近的咖啡店,该排序是从近到远排的。
我们再写一个更复杂的场景,我们要搜索在位置(50,50)附近的咖啡店,并且距离在37m之内。
还有一个参数是limit,控制店铺数量的,如下:
长按下图二维码,即刻关注【学习Java的小姐姐】 领取超多学习资料哦!
MongoDB的地理位置索引相关推荐
- mongodb地理位置索引实现原理
地理位置索引支持是MongoDB的一大亮点,这也是全球最流行的LBS服务foursquare 选择MongoDB的原因之一.我们知道,通常的数据库索引结构是B+ Tree,如何将地理位置转化为可建立B ...
- 图解GeoHash算法--MongoDB 地理位置索引的实现原理
转载自:http://blog.nosqlfan.com/html/1811.html 地理位置索引支持是MongoDB的一大亮点,这也是全球最流行的LBS服务foursquare 选择MongoDB ...
- 图解 MongoDB 地理位置索引的实现原理
地理位置索引支持是MongoDB的一大亮点,这也是全球最流行的LBS服务foursquare 选择MongoDB的原因之一.我们知道,通常的数据库索引结构是B+ Tree,如何将地理位置转化为可建立B ...
- mongodb java 地理位置_MongoDB的地理位置索引
背景 我们平常打开一些App的时候,经常有一个"查询周边景点"的功能,如我在高德里面就查询到了附近的景点. 这种计算如果通过普通的关系型数据库,那对服务器和数据库的性能要求就太高了 ...
- mongodb如何根据字段(数组类型)的长度排序_大数据存储技术选型(七)——MongoDB设计模式及索引优化...
关系数据库的时代 关系数据库的设计理念 假设你有一台车,你需要给它存起来,给它找个停车位.传统数据库的存储方式就相当于,把这个车的所有零件拆下来,放在存放对应零件的盒子里,需要用的时候,再把他们取出来 ...
- 详解基于MongoDB的地理位置查询,结合Symfony2演示
简介 随着近几年各类移动终端的迅速普及,基于地理位置的服务(LBS)和相关应用也越来越多,而支撑这些应用的最基础技术之一,就是基于地理位置信息的处理.我所在的项目也正从事相关系统的开发,我们使用的是S ...
- mongodb安装_MongoDB索引策略和索引类型
mongodb安装 1. MongoDB索引策略和索引类型–简介 MongoDB是一个开放源代码,面向文档的跨平台数据库,它使用C ++开发,并且是最流行和使用最广泛的NoSQL类型数据库之一. 它可 ...
- go mongodb排序查询_【赵强老师】MongoDB中的索引(下)
(四)索引的类型三:复合索引(Compound Index) MongoDB支持复合索引,即将多个键组合到一起创建索引.该方式称为复合索引,或者也叫组合索引,该方式能够满足多键值匹配查询使用索引的情形 ...
- go mongodb排序查询_「赵强老师」MongoDB中的索引(下)
(四)索引的类型三:复合索引(Compound Index)** MongoDB支持复合索引,即将多个键组合到一起创建索引.该方式称为复合索引,或者也叫组合索引,该方式能够满足多键值匹配查询使用索引的 ...
最新文章
- Linux预备知识(二):进程空间地划分-用户空间/内核空间
- 【校招面试 之 C/C++】第15题 C 回调函数
- 自学机器学习、深度学习、人工智能的学习资源集合
- poj3111 选取物品(二分+贪心)
- mongo占用内存过大解决方案
- Linux位置无关代码实现,浅谈位置无关代码
- 用户ID生成唯一邀请码的几种方法
- iphone开发中图像处理相关要点
- ubuntu搭建简单http服务器
- python comprehensions_Python中的Comprehensions和Generations
- tinyxml初体验
- 啦啦外卖小程序上传提示43003解决办法
- 简单控制台项目:电影购票系统
- Centos7.3下载和安装教程
- 联想电脑如何启动BIOS并开启CPU虚拟化功能
- 可重入函数与线程安全的区别与联系
- 这里有你最想掌握的区块链技术
- 指南|研控MCC系列运动控制卡测试软件(YK-Motion )使用手册
- 树莓派Pico开发----流水灯
- 排序算法图解(四):希尔排序
热门文章
- 【杂谈】AI工业界都有哪些值得参加的比赛?
- 全球及中国不锈钢商用厨刀行业营销战略及未来发展趋势分析报告2022年版
- 东枝戛古舍利佛塔群(缅三十五)
- 找不到atlapp.h的解決方法
- 获得Google搜索字符串中的关键字
- 对话院士成果转化基地-丰收节交易会·李喜贵:谋定精准对接
- [BUAA-SE-2018]结对作业测试报告
- 移动測试技术保护源码!解码全球首款移动端白盒測试工具ThreadingTest (文章转自己主动点科技)...
- 【JSTL】--c:out演示--drp213
- 雾霾经济:这10款产品,马云看了都想投资