Importante
Eliminado en MongoDB 5.0
MongoDB 5.0 elimina el índice geoHaystack obsoleto y el comando geoSearch. Use un 2d index con o uno $geoNear de los operadores de consulta geoespacial admitidos en su lugar.
Actualizar su instancia de MongoDB a 5.0 y configurar featureCompatibilityVersion en 5.0 eliminará cualquier índice geoHaystack preexistente.
Un índice geoHaystack es un índice especial que está optimizado para devolver resultados en áreas pequeñas. Los índices geoHaystack mejoran el rendimiento en consultas que utilizan geometría plana.
Para consultas que utilizan geometría esférica, un 2índice dsphere es una mejor opción que un índice de pajar. Los2índices dsphere permiten la reordenación de campos; losgeoHaystack índices requieren que el primer campo sea el de ubicación. Además, losgeoHaystack índices solo se pueden usar mediante comandos, por lo que siempre devuelven todos los resultados a la vez.
Comportamiento
geoHaystack Los índices crean "grupos" de documentos de la misma área geográfica para mejorar el rendimiento de las consultas limitadas a esa área. Cada grupo de un índice geoHaystack contiene todos los documentos dentro de una proximidad específica a una longitud y latitud dadas.
sparse Propiedad
geoHaystack Los índices son dispersos por defecto e ignoran la opción sparse: true. Si un documento carece de un geoHaystack campo de índice (o si el campo es null o un array vacío), MongoDB no añade una entrada para el documento al geoHaystack índice. En las inserciones, MongoDB inserta el documento, pero no lo añade al geoHaystack índice.
geoHaystack los índices incluyen una clave de índice geoHaystack y una clave de índice no geoespacial; sin embargo, solo el campo de índice geoHaystack determina si el índice hace referencia a un documento.
Opción de intercalación
geoHaystack Losíndices solo admiten la comparación binaria simple y no admiten la intercalación.
Para crear un índice geoHaystack en una colección que tiene una intercalación no simple, debe especificar explícitamente {collation: {locale: "simple"}
} al crear el índice.
Crear geoHaystack índice
Para crear un geoHaystack índice, consulte Crear un índice Haystack. Para obtener información y un ejemplo sobre cómo consultar un índice Haystack,consulte Consultar un índice Haystack.