背景

我们平常打开一些App的时候,经常有一个“查询周边景点”的功能,如我在高德里面就查询到了附近的景点。

这种计算如果通过普通的关系型数据库,那对服务器和数据库的性能要求就太高了。

我们可以通过MongoDB自带的地址位置索引来实现。

如何使用

前期准备:插入数据

我们先插入四条数据,即店铺的类型,名称和地理位置。注意地理位置的第一个数值表示精度(范围为-100到100),第二个数值表示纬度(范围为-90到90)。

查询结果

下图的语句是查询在经纬度为50和50位置附近的店铺,但我们看到是报错了,理由是我们要新建字段loc上面的地理索引。

建立地理索引的步骤如下: (也就是在loc字段上面建立地理位置索引)

我们重复执行刚才的语句,发现成功啦。

现在我们写一个稍微复杂的场景,我们要搜索在位置(50,50)附近的咖啡店,该排序是从近到远排的。

我们再写一个更复杂的场景,我们要搜索在位置(50,50)附近的咖啡店,并且距离在37m之内。

还有一个参数是limit,控制店铺数量的,如下:

​长按下图二维码,即刻关注【学习Java的小姐姐】 领取超多学习资料哦!

MongoDB的地理位置索引相关推荐

  1. mongodb地理位置索引实现原理

    地理位置索引支持是MongoDB的一大亮点,这也是全球最流行的LBS服务foursquare 选择MongoDB的原因之一.我们知道,通常的数据库索引结构是B+ Tree,如何将地理位置转化为可建立B ...

  2. 图解GeoHash算法--MongoDB 地理位置索引的实现原理

    转载自:http://blog.nosqlfan.com/html/1811.html 地理位置索引支持是MongoDB的一大亮点,这也是全球最流行的LBS服务foursquare 选择MongoDB ...

  3. 图解 MongoDB 地理位置索引的实现原理

    地理位置索引支持是MongoDB的一大亮点,这也是全球最流行的LBS服务foursquare 选择MongoDB的原因之一.我们知道,通常的数据库索引结构是B+ Tree,如何将地理位置转化为可建立B ...

  4. mongodb java 地理位置_MongoDB的地理位置索引

    背景 我们平常打开一些App的时候,经常有一个"查询周边景点"的功能,如我在高德里面就查询到了附近的景点. 这种计算如果通过普通的关系型数据库,那对服务器和数据库的性能要求就太高了 ...

  5. mongodb如何根据字段(数组类型)的长度排序_大数据存储技术选型(七)——MongoDB设计模式及索引优化...

    关系数据库的时代 关系数据库的设计理念 假设你有一台车,你需要给它存起来,给它找个停车位.传统数据库的存储方式就相当于,把这个车的所有零件拆下来,放在存放对应零件的盒子里,需要用的时候,再把他们取出来 ...

  6. 详解基于MongoDB的地理位置查询,结合Symfony2演示

    简介 随着近几年各类移动终端的迅速普及,基于地理位置的服务(LBS)和相关应用也越来越多,而支撑这些应用的最基础技术之一,就是基于地理位置信息的处理.我所在的项目也正从事相关系统的开发,我们使用的是S ...

  7. mongodb安装_MongoDB索引策略和索引类型

    mongodb安装 1. MongoDB索引策略和索引类型–简介 MongoDB是一个开放源代码,面向文档的跨平台数据库,它使用C ++开发,并且是最流行和使用最广泛的NoSQL类型数据库之一. 它可 ...

  8. go mongodb排序查询_【赵强老师】MongoDB中的索引(下)

    (四)索引的类型三:复合索引(Compound Index) MongoDB支持复合索引,即将多个键组合到一起创建索引.该方式称为复合索引,或者也叫组合索引,该方式能够满足多键值匹配查询使用索引的情形 ...

  9. go mongodb排序查询_「赵强老师」MongoDB中的索引(下)

    (四)索引的类型三:复合索引(Compound Index)** MongoDB支持复合索引,即将多个键组合到一起创建索引.该方式称为复合索引,或者也叫组合索引,该方式能够满足多键值匹配查询使用索引的 ...

最新文章

  1. Linux预备知识(二):进程空间地划分-用户空间/内核空间
  2. 【校招面试 之 C/C++】第15题 C 回调函数
  3. 自学机器学习、深度学习、人工智能的学习资源集合
  4. poj3111 选取物品(二分+贪心)
  5. mongo占用内存过大解决方案
  6. Linux位置无关代码实现,浅谈位置无关代码
  7. 用户ID生成唯一邀请码的几种方法
  8. iphone开发中图像处理相关要点
  9. ubuntu搭建简单http服务器
  10. python comprehensions_Python中的Comprehensions和Generations
  11. tinyxml初体验
  12. 啦啦外卖小程序上传提示43003解决办法
  13. 简单控制台项目:电影购票系统
  14. Centos7.3下载和安装教程
  15. 联想电脑如何启动BIOS并开启CPU虚拟化功能
  16. 可重入函数与线程安全的区别与联系
  17. 这里有你最想掌握的区块链技术
  18. 指南|研控MCC系列运动控制卡测试软件(YK-Motion )使用手册
  19. 树莓派Pico开发----流水灯
  20. 排序算法图解(四):希尔排序

热门文章

  1. 【杂谈】AI工业界都有哪些值得参加的比赛?
  2. 全球及中国不锈钢商用厨刀行业营销战略及未来发展趋势分析报告2022年版
  3. 东枝戛古舍利佛塔群(缅三十五)
  4. 找不到atlapp.h的解決方法
  5. 获得Google搜索字符串中的关键字
  6. 对话院士成果转化基地-丰收节交易会·李喜贵:谋定精准对接
  7. [BUAA-SE-2018]结对作业测试报告
  8. 移动測试技术保护源码!解码全球首款移动端白盒測试工具ThreadingTest (文章转自己主动点科技)...
  9. 【JSTL】--c:out演示--drp213
  10. 雾霾经济:这10款产品,马云看了都想投资