文档菜单
文档首页
/
MongoDB 手册
/ / / /

$box

本页面

  • 定义
  • 行为
  • 示例
$box

指定一个矩形用于地理空间 $geoWithin 查询,以返回位于矩形边界内的文档,根据其基于点的位置数据。当与$box 操作符一起使用时,$geoWithin 基于网格坐标返回文档, 查询 GeoJSON 形状。

要使用 $box 操作符,您必须在数组对象中指定矩形的左下角和右上角

{
<location field>: {
$geoWithin: {
$box: [
[ <bottom left coordinates> ],
[ <upper right coordinates> ]
]
}
}
}

重要

如果您使用经纬度,请先指定经度。

查询使用平面几何计算距离。

应用程序可以使用$box而不必使用地理空间索引。但是,地理空间索引支持比未索引的等效查询更快。

只有2D地理空间索引支持$box

以下示例查询返回所有在点[ 0 , 0 ][ 0 , 100 ][ 100 , 0 ][ 100 , 100 ]构成的矩形内的文档。

db.places.find( {
loc: { $geoWithin: { $box: [ [ 0, 0 ], [ 100, 100 ] ] } }
} )

返回

$nearSphere