Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

$polygon (operador de predicado de consulta)

$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á vinculado implícitamente al primero. Puedes especificar tantos puntos, es decir, lados, como desees.

Importante

Si usa longitud y latitud, debe especificar primero la longitud.

La $polygon el operador calcula las distancias utilizando geometría plana (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.

Solo el índice geoespacial 2d admite el operador $polygon.

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