MongoDB——索引类型之地理空间索引(Geospatial Index)

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB——索引类型之地理空间索引(Geospatial Index)相关的知识,希望对你有一定的参考价值。

目录

一、MongoDB官网地址

二、地理空间索引(Geospatial Index)

2.1、地理空间索引(Geospatial Index)的概述

  • MongoDB为地理空间检索提供了非常方便的功能。地理空间索引(2dsphereindex)就是专门用于实现位置检索的一种特殊索引。

2.2、地理空间索引(Geospatial Index)的示例

示例需求:MongoDB实现“查询附近商家"

2.2.1、数据准备

  • 准备数据集,执行脚本

    db.restaurant.insert(
     restaurantId: 0,
     restaurantName:"兰州牛肉面",
     location : 
       type: "Point",
       coordinates: [ -73.97, 40.77 ]
     
    )
    

  • 查看初始化的数据

    > db.restaurant.find()
    

2.2.2、创建地理空间索引(Geospatial Index)

  • 创建一个2dsphere索引

    > db.restaurant.createIndex(location : "2dsphere")
    

  • 查看创建的2dsphere索引

    > db.restaurant.getIndexes()
    

2.2.3、查询附近10000米商家信息

  • 查询附近10000米商家信息

    db.restaurant.find( 
     location:
       $near :
         $geometry :
           type : "Point" ,
           coordinates : [ -73.88, 40.78 ]
          ,
         $maxDistance:10000
       
     
     )
    

  • 语法解释

    操作符解释
    $near查询操作符,用于实现附近商家的检索,返回数据结果会按距离排序。
    $geometry用于指定一个GeoJSON格式的地理空间对象
    type=Point表示地理坐标点
    coordinates表示用户当前所在的经纬度位置
    $maxDistance限定了最大距离,单位是米

以上是关于MongoDB——索引类型之地理空间索引(Geospatial Index)的主要内容,如果未能解决你的问题,请参考以下文章

mongoDb地理空间索引和查询

mongodb3.0的索引管理学习整理

MongoDB中地理空间索引的内部机制

MongoDB系列五(地理空间索引与查询).

如何使用 C++ 在 MongoDB 中创建地理空间索引

具有稀疏复合索引的 MongoDB $near 地理空间查询错误 13311