Docs Menu
Docs Home
/ /

$polígono

$polygon

Especifica un polígono para un Geoespacial $geoWithin Consulta sobre pares de coordenadas heredados. La consulta devuelve pares que se encuentran dentro de los límites del polígono. El operador no consulta objetos GeoJSON.

Para definir el polígono, especifique una matriz de puntos de coordenadas:

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

El último punto siempre está implícitamente conectado al primero. Puedes especificar tantos puntos (es decir, lados) como desees.

Importante

Si utiliza longitud y latitud, especifique primero la longitud.

El $polygon El operador calcula distancias utilizando geometría plana.

Las aplicaciones pueden usar $polygon sin un índice geoespacial. Sin embargo, los índices geoespaciales admiten consultas mucho más rápidas que sus equivalentes sin indexar.

Sólo el índice geoespacial 2d admite el $polygon operador.

La siguiente query devuelve todos los documentos que tienen coordenadas dentro del polígono definido por [ 0 , 0 ], [ 3 , 6 ] y [ 6 , 0 ]:

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

Volver

$nearSphere

En esta página