$box
在本页面
Definition
$box
- 为geospatial $geoWithin查询指定一个矩形,以根据其基于点的位置数据返回该矩形范围内的文档。与$box运算符一起使用时,$geoWithin返回基于grid coordinates的文档,并且不对 GeoJSON 形状进行不查询。
要使用$box运算符,必须在数组对象中指定矩形的左下角和右上角:
{
<location field>: {
$geoWithin: {
$box: [
[ <bottom left coordinates> ],
[ <upper right coordinates> ]
]
}
}
}
Important
如果您使用经度和纬度,请指定 longitude first 。
Behavior
该查询使用平面(平面)几何计算距离。
应用程序可以使用$box *不具有地理空间索引。但是,地理空间索引比未索引的等效索引支持更快的查询。
Example
下面的示例查询返回框中具有[ 0 , 0 ]
,[ 0 , 100 ]
,[ 100 , 0 ]
和[ 100 , 100 ]
的点的所有文档。
db.places.find( {
loc: { $geoWithin: { $box: [ [ 0, 0 ], [ 100, 100 ] ] } }
} )