mongoDB地理位置索引

前端之家收集整理的这篇文章主要介绍了mongoDB地理位置索引前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

《mongoDB地理位置索引》要点:
本文介绍了mongoDB地理位置索引,希望对您有用。如果有疑问,可以联系我们。

地理位置索引的概念

将一些点的位置存储在mongoDB中,创建索引后,可以依照位置来查找这些点.

地舆位置索引的分类

  1. 2d索引,用于存储和查找平面上的点 平面地舆位置索引

  2. 2dsphere索引,用于存储和查找球面上的点. 球面地舆位置索引

地舆位置索引的查找方式:

mongoDB地理位置索引

地理位置索引-2d索引的创立方式

mongoDB地理位置索引

db.location.ensureIndex({w:"2d"})

创建了地理位置索引,mongoDB不允许查询跨越180的值

mongoDB地理位置索引

地舆位置索引-2d索引查询方式

mongoDB地理位置索引

地舆位置索引-2d索引-$near

db.location.find({w:{$near:[1,1]}})

mongoDB地理位置索引

$near会返回最近的100个记录.

地舆位置索引-2d索引-$near 限制返回的距离的远近$minDistance $maxDistance

db.location.find({w:{$near:[1,1],$minDistance:2,$maxDistance:10}})

限制最远距离:

mongoDB地理位置索引

限制最近距离:

mongoDB地理位置索引

最远和最近距离都限制:

mongoDB地理位置索引

地理位置索引-2d索引 $geoWithin 形状的表现

由于$geoWithin是查询某个形状内的点,所以先要学会如何表现形状.

mongoDB地理位置索引

地舆位置索引-2d索引 $geoWithin 查询矩形中的点

db.location.find({w:{$geoWithin:{$Box:[[0,0],[3,3]]}}})

mongoDB地理位置索引

db.location.find({w:{$geoWithin:{$Box:[[1,[2,3]]}}})

mongoDB地理位置索引

地舆位置索引-2d索引 $geoWithin 查询圆形中的点

db.location.find({w:{$geoWithin:{$center:[[0,5]}}})

mongoDB地理位置索引

地舆位置索引-2d索引 $geoWithin 查询多边形中的点

db.location.find({w:{$geoWithin:{$polygon:[[0,[0,5],[6,1]]}}})

mongoDB地理位置索引

地舆位置索引-2d索引 geoNear

mongoDB地理位置索引

db.runCommand({geoNear:"location",near:[1,2],maxDistance:10,num:1})

mongoDB地理位置索引

地舆位置索引-2dsphere索引

mongoDB地理位置索引

编程之家PHP培训学院每天发布《mongoDB地理位置索引》等实战技能,PHPMysqL、LINUX、APP、JS,CSS全面培养人才。

猜你在找的MongoDB相关文章