Docs 菜单

Docs 主页开发应用程序MongoDB Manual

$polygon

在此页面上

  • 定义
  • 行为
  • 例子
$polygon

为传统坐标对上的地理空间 $geoWithin 查询指定多边形。查询返回多边形范围内的数据对。操作符查询 GeoJSON 对象。

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

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

最后一点始终与第一点隐式相连。您可以根据需要指定任意数量的点,即边。

重要

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

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

应用程序可以在$polygon 没有 地理空间索引的情况下使用 。但是,与未编制索引的同类查询相比,地理空间索引支持的查询速度要快得多。

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

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

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

在此页面上