On this page本页内容
$box
Specifies a rectangle for a geospatial 指定地理空间$geoWithin
query to return documents that are within the bounds of the rectangle, according to their point-based location data. $geoWithin
查询的矩形,以根据其基于点的位置数据返回矩形边界内的文档。When used with the 与$box
operator, $geoWithin
returns documents based on grid coordinates and does not query for GeoJSON shapes.$box
运算符一起使用时,$geoWithin
基于网格坐标返回文档,不查询GeoJSON形状。
To use the 要使用$box
operator, you must specify the bottom left and top right corners of the rectangle in an array object:$box
运算符,必须指定数组对象中矩形的左下角和右上角:
{ <location field>: { $geoWithin: { $box: [ [ <bottom left coordinates> ], [ <upper right coordinates> ] ] } } }
The query calculates distances using flat (planar) geometry.该查询使用平面(平面)几何图形计算距离。
Applications can use 应用程序可以在没有地理空间索引的情况下使用$box
without having a geospatial index. $box
。However, geospatial indexes support much faster queries than the unindexed equivalents.但是,地理空间索引支持的查询速度比未编制索引的等效查询快得多。
Only the 2d geospatial index supports 只有$box
.2d
地理空间索引支持$box
。
The following example query returns all documents that are within the box having points at: 下面的示例查询返回框中具有以下点的所有文档:[ 0 , 0 ]
, [ 0 , 100 ]
, [ 100 , 0 ]
, and [ 100 , 100 ]
.[0,0]
,[0,100]
,[100,0]
和[100,100]
。
db.places.find( { loc: { $geoWithin: { $box: [ [ 0, 0 ], [ 100, 100 ] ] } } } )