最后更新于
最后更新于
在本页面
下面的部分描述了 2d 索引支持的查询。
要选择平面上给定形状中的所有旧坐标对,请使用操作符和一个形状操作符。使用以下语法:
下面查询由左下角的[0,0]
和右上角的[100,100]
定义的矩形内的文档。
下面查询以[-74,40.74]
为圆心,半径为10
的圆内的文档:
关于每种形状的语法和示例,请看下面:
圆心的网格坐标
使用以下语法:
下面的示例查询返回以经度 88 W 和纬度 30 N 为半径的10英里范围内的所有文档。这个例子通过将距离除以地球赤道半径3963.2英里来将距离转换为弧度:
不能使用2d索引返回坐标对的精确匹配。在存储坐标的字段上使用升序或降序标量索引,以返回准确的匹配。
该查询将返回值为[,
]
的所有文档。
(defines a circle)
由于遗留的原因,MongoDB支持平面“2d”索引上的基本球形查询。通常,球形计算应该使用2dsphere
索引,如中所述。
要在球体的“球冠”中查询传统坐标对,请与运算符一起使用。指定一个包含以下内容的数组:
圆的半径,以弧度为单位。要计算弧度,请参见 。
接近查询返回最接近定义点的遗留坐标对,并按距离对结果排序。使用操作符。操作符需要一个 2d 索引。
操作符使用以下语法:
例如,请参见。
在下面的例子中,操作将返回一个精确匹配的位置,如果你有一个{'loc': 1}
索引: