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

$polygon

在本页

  • 定义
  • 行为
  • 示例
$polygon

指定用于旧坐标对的地理空间 $geoWithin 查询的多边形。查询返回在多边形边界内的对。运算符不查询GeoJSON对象。

要定义多边形,指定坐标点的数组

{
<location field>: {
$geoWithin: {
$polygon: [ [ <x1> , <y1> ], [ <x2> , <y2> ], [ <x3> , <y3> ], ... ]
}
}
}

最后一个点总是隐式地连接到第一个点。您可以指定任意多个点,即边。

重要

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

$polygon 操作符使用平面(二维)几何来计算距离。

应用程序可以使用 $polygon 操作符 而不 必须具有地理空间索引。但是,地理空间索引支持比未索引的等效查询快得多的查询。

只有 二维 地理空间索引支持 $polygon 操作符。

以下查询返回所有坐标位于由 [ 0 , 0 ][ 3 , 6 ][ 6 , 0 ] 定义的多边形内的文档。

db.places.find(
{
loc: {
$geoWithin: { $polygon: [ [ 0 , 0 ], [ 3 , 6 ], [ 6 , 0 ] ] }
}
}
)

返回

$minDistance