$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 ] ] } } } )