MongoDB提供强大的空间索引,可查询出一定范围的地理坐标。
![4933701-481e09932eed5649.png](https://img-blog.csdnimg.cn/img_convert/5a367ae2aaeedc36322d3940a8f2cb94.png)
MongoDB空间索引
查询出距离点[70,180]最近的3个点
# 创建2d索引,默认建立一个[-180,180]之间的2d索引。
db.map.ensureIndex({gis:'2d'}, {min:-1, max:201})
# 查询点[70,180]最近三个点
db.map.find({$gt:{$near:[70,180]}}, {gis:1, _id:0}).limit(3)
查看以[50,50]和[190,190]为对角线的正方向中所有的点
db.map.find({gis:{$within:{$box:[[50,50],[190,190]]}}}, {_id:0, gis:1})
查询以[65,80]为圆心,半径为50的圆面积中的点。
db.map.find({gis:{$within:{$center:[[65,80], 50]}}}, {_id:0, gis:1})