美文网首页好的
MongoDB实现地理位置查询

MongoDB实现地理位置查询

作者: 深思海数_willschang | 来源:发表于2016-09-30 11:41 被阅读4288次

Mongodb地理位置查询文档
MongoDB支持地理位置索引,可以直接用于位置距离计算和查询。查询结果默认将会由近到远排序,且查询结果也包含目标点对象、距离目标点的距离等信息。

geoNear是MongoDB原生支持的查询函数,所以性能上也做到了高度的优化,完全可以应付生产环境的压力。geoNear

两种索引方式

2d index:
使用2d index 能够将数据作为2维平面上的点存储起来, 在MongoDB 2.2以前 推荐使用2d index索引。

2dsphere index:
2dsphere index 支持球体的查询和计算,同时它支持数据存储为GeoJSON 和传统坐标。

3种距离单位:

米(meters)
平面单位(flat units,可以理解为经纬度的“一度”)
弧度(radians)

2d索引能同时支持$center和$centerSphere,
2dsphere索引支持$centerSphere。
$center默认是度,$centerSphere默认距离是弧度

//mongodb 实现lbs查询
/***************************
首先需对col里的loc设置索引为'2d',方可进行$near查询
db.col.ensureIndex({'loc':'2d'})
db.col.getIndexes()
****************************/
// maxDistance单位是弧度, 地球表面1弧度距离约为6378137米, 0.001弧度距离为6378米
db.col.find({"loc": {$near: [longtitude, lattitude], $maxDistance:0.1}})

样例代码

db.user.find({"geo": {$near: [118.10388605,24.48923061], $maxDistance:0.1}},{id:1, name:1, state:1, geo:1}).limit(1).pretty()

Paste_Image.png

相关文章

  • MongoDB实现地理位置查询

    Mongodb地理位置查询文档MongoDB支持地理位置索引,可以直接用于位置距离计算和查询。查询结果默认将会由近...

  • MongoDB按几何形状搜索 --- 2022-04-03

    本章介绍MongoDB 地理位置查询-根据几何形状查询,MongoDB支持图形交集、包含关系查询。 应用场景: 在...

  • MongoDB按距离搜索 ($near) --- 2022-04

    本章介绍MongoDB地理位置查询功能之一,根据距离查询文档数据。 应用场景:查询附近店铺、附近的人。 前置教程 ...

  • MongoDB 常用查询操作

    MongoDB 查询操作可实现大部分关系型数据库的常用查询操作,本文对 MongoDB 常用查询进行讲解。 在阅读...

  • mongodb 地理位置查询实例

    为了能用mongdodb的地理信息查询功能,插入集合的文档需要按如下格式存入: "loc":{"type":"Po...

  • Spring boot MongoDB 复杂查询

    1.Mongodb查询多个对象 2.Mongodb查询单个对象 3.Mongodb分页查询 4.Mongodb统计...

  • Mongodb慢查询

    一、mongodb慢查询的作用: 二、mongodb开启慢查询的缺点: 三、mongodb开启查询慢查询: 四、m...

  • Java实现MongoDB查询

    接上篇,插入测试成功后,接下来进行查询检索条件主要使用DBObject接口,BasicDBObject实现类

  • Mongodb数据库的模糊搜索

    模糊查询简介 MongoDB查询条件可以使用正则表达式,从而实现模糊查询的功能。模糊查询可以使用$regex操作符...

  • spring date mongo mongotemplate使

    Spring数据MongoDB三:基本文档查询(查询,基本查询)(一) MongoDB高级查询[聚合] sprin...

网友评论

    本文标题:MongoDB实现地理位置查询

    本文链接:https://www.haomeiwen.com/subject/ufwlyttx.html