Docs 菜单

$polygon

在此页面上

$polygon

为 上的 地理空间 查询指定多边形。$geoWithinlegacy coordinate pairs查询返回多边形边界内的数据对。 该操作符不会查询GeoJSON对象。

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

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

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

重要

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

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

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

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

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

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

在此页面上