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