$box
定义
$box
指定一个矩形用于地理空间
$geoWithin
查询,以返回位于矩形边界内的文档,根据其基于点的位置数据。当与$box
操作符一起使用时,$geoWithin
基于网格坐标返回文档,不 查询 GeoJSON 形状。要使用
$box
操作符,您必须在数组对象中指定矩形的左下角和右上角{ <location field>: { $geoWithin: { $box: [ [ <bottom left coordinates> ], [ <upper right coordinates> ] ] } } } 重要
如果您使用经纬度,请先指定经度。
行为
查询使用平面几何计算距离。
应用程序可以使用$box
而不必使用地理空间索引。但是,地理空间索引支持比未索引的等效查询更快。
示例
以下示例查询返回所有在点[ 0 , 0 ]
、[ 0 , 100 ]
、[ 100 , 0 ]
和[ 100 , 100 ]
构成的矩形内的文档。
db.places.find( { loc: { $geoWithin: { $box: [ [ 0, 0 ], [ 100, 100 ] ] } } } )