以下各节描述了2d
索引支持的查询。
要选择在平面上给定形状内找到的所有旧版坐标对,请使用$geoWithin
运算符和形状运算符。使用以下语法:
以下查询在由左下角和右上角定义的矩形内的文档。[ 0
, 0 ]
[ 100 , 100 ]
以下查询以居中为半径且半径为的圆内的文档:[ -74 , 40.74 ]
10
有关每种形状的语法和示例,请参见以下内容:
2d
由于遗留原因,MongoDB支持对平面索引进行基本的球形查询。通常,球面计算应使用2dsphere
索引,如2dsphere Indexes中所述。
要在球体的“球冠”中查询传统坐标对,请$geoWithin
与$centerSphere
运算符一起使用。指定一个包含以下内容的数组:
使用以下语法:
以下示例查询返回位于经度和纬度10英里范围内的所有文档。该示例通过将距离除以大约3963.2英里的地球赤道半径来将距离转换为弧度:88 W
30 N