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
/ /

Índices geoespaciales

Los índices geoespaciales admiten consultas sobre datos almacenados como Objetos GeoJSON o pares de coordenadas heredados. Puedes usar índices geoespaciales para mejorar el rendimiento de las queries sobre datos geoespaciales o para ejecutar ciertas queries geoespaciales.

MongoDB proporciona dos tipos de índices geoespaciales:

  • Índices 2dsphere, que admiten consultas que interpretan la geometría de una esfera.

  • Índices 2d, que admiten consultas que interpretan la geometría sobre una superficie plana.

Para aprender más sobre datos y operaciones de query geoespaciales, consulta Queries geoespaciales.

Si tu aplicación consulta frecuentemente un campo que contiene datos geoespaciales, puedes crear un índice geoespacial para mejorar el rendimiento de esas queries.

Ciertas operaciones de query requieren un índice geoespacial. Si deseas query con el $near o $nearSphere operadores o la etapa de agregación $geoNear, debes crear un índice geoespacial. Para obtener detalles, consulte operadores del query geoespaciales y Etapa de agregación geoespacial.

Por ejemplo, considere una colección de subway con documentos que contengan un campo location, que especifique las coordenadas de las estaciones de metro en una ciudad. Suele ejecutar consultas con el operador $geoWithin para devolver una lista de estaciones dentro de un área específica. Para mejorar el rendimiento de esta query, puedes crear un índice geoespacial en el campo location. Después de crear el índice, puedes utilizar el operador $near query para devolver una lista de estaciones cercanas, ordenadas de la más cercana a la más lejana.

Para crear un índice geoespacial y ejecutar consultas geoespaciales, consulte:

Esta sección describe detalles acerca de los índices geoespaciales.

No se puede utilizar un índice geoespacial como clave de partición al fragmentar una colección. Sin embargo, puedes crear un índice geoespacial en una colección particionada utilizando un campo diferente como clave de partición.

Puede usar los operadores del query geoespaciales y las etapas de agregación para consultar datos geoespaciales en colecciones particionadas.

Los índices geoespaciales no pueden cubrir una query.

Utilizar un índice 2d para queries sobre datos esféricos puede devolver resultados incorrectos o un error. Por ejemplo, los índices 2d no admiten "queries" esféricas que envuelven los polos.

Sin embargo, puedes usar el índice 2dsphere tanto para consultas esféricas como para consultas bidimensionales. Para consultas bidimensionales, el índice 2dsphere convierte los datos almacenados como legacy coordinate pairs al tipo punto GeoJSON.

Para ver ejemplos de operaciones de consulta geoespacial, consulte Ejemplos de consultas geoespaciales.

Volver

Restricciones

En esta página