Los índices 2dsphere admiten consultas geoespaciales en una esfera similar a la tierra. Por ejemplo, los índices 2dsphere pueden:
Determina los puntos dentro de un área especificada.
Calcular la proximidad a un punto especificado.
Devolver coincidencias exactas en consultas de coordenadas.
Los valores del campo indexado deben ser:
Para los legacy coordinate pairs, el índice 2dsphere convierte los datos en puntos GeoJSON.
Para crear un índice 2dsphere, especifique el string 2dsphere como el tipo de índice:
db.<collection>.createIndex( { <location field> : "2dsphere" } )
Nota
Al crear un índice 2dsphere, el primer valor, o longitud, debe estar entre -180 y 180, ambos inclusive. El segundo valor, o latitud, debe estar entre -90 y 90, ambos inclusive. Estas coordenadas se "envuelven" alrededor de la esfera. Por ejemplo, -179.9 y +179.9 son vecinos cercanos.
Casos de uso
Utiliza índices 2dsphere para query y realizar cálculos sobre datos de ubicación donde los puntos de datos aparecen en la Tierra o en otra superficie esférica. Por ejemplo:
Una aplicación de entrega de alimentos practica índices 2dsphere para fomentar búsquedas de restaurantes cercanos.
Una aplicación de planificación de rutas utiliza índices 2dsphere para calcular la distancia más corta entre las paradas de descanso.
Un urbanista utiliza índices 2dsphere para encontrar parques que existan dentro de los límites de la ciudad.
Empezar
Para obtener más información sobre cómo crear y consultar los índices de 2dsphere, consultar:
Detalles
Los índices 2dsphere siempre son dispersos y tienen comportamientos especiales cuando se crean como parte de un índice compuesto.
sparse Propiedad
Los índices 2dsphere siempre son dispersos. Al crear un índice 2dsphere, MongoDB ignora la opción sparse.
Si un documento existente o recién insertado no contiene un campo de índice 2dsfera (o el campo es null o un arreglo vacío), MongoDB no agrega una entrada del documento al índice.
Índices compuestos de 2dsphere
Para un índice compuesto que incluya una clave de índice 2dsphere junto con claves de otros tipos, solo el campo de índice 2dsphere determina si el índice referencia un documento.
Un índice compuesto 2dsphere puede referenciar múltiples campos de ubicación y no de ubicación. En cambio, un índice compuesto 2d solo puede hacer referencia a un campo de ubicación y a otro campo.
2dsphereIndexVersion
A partir de MongoDB 8.3, 2dsphereIndexVersion está configurado en la versión 4 por defecto.
Si necesitas degradar la compatibilidad de características entre versiones a cualquier valor por debajo del 8.3, primero debes descartar los 2dsphere índices de la versión 4.