版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liyantianmin/article/details/82693828
球面索引在一个类似地球球形表面来计算地理数据,MonogDB使用WGS84地心坐标系误差比较小。
支持两种对象数据格式:
geojson和 平面坐标对。
geojson
如果用的是平面坐标对会转换成geojson。建议使用geojson对象。
geojson基于js对象的表示方法,用于地理空间信息的交换。2dsphere使用geojson来存储数据,及多种几何类型。数据格式
{
"type":几何类型
"coordinates":<坐标值>
}
type包含
poin点 LineStrig线,需要提供两个坐标点 Polygon 面,简单的面需要提供四个坐标点。要求所有的线需要闭合
球面索引需要注意的几个问题:
1、只能在geojson上创建2dsphere球面索引。
2、默认情况下球面索引是稀疏的,并且会自动忽略spare:true选项
3、符合索引中包含球面索引,只有球面索引可以决定是否引用一条文档。
4、在分片集合上,球面索引不能作为片建来使用。
提供的操作符
$near返回的文档是由近到远排序的,另外在分片集合上是不能使用的。如果需要的话需要使用geoNear管道操作符