Menu Docs

geoHaystack Indexes

Importante

Removido no MongoDB 5.0

O MongoDB 5.0 remove o índice geoHaystack obsoleto e o comando geoSearch . Utilize um índice 2d com $geoNear ou um dos operadores de query geoespacial suportados.

Atualizar sua instância MongoDB para 5.0 e configurar featureCompatibilityVersion para 5.0 excluirá quaisquer índices geoHaystack preexistentes.

Um índice geoHaystack é um índice especial otimizado para retornar resultados em áreas pequenas. Índices geoHaystack melhoram o desempenho em query que usam geometria plana.

Para query que usam geometria esférica, um índice 2dsphere é uma opção melhor do que um índice haystack. índices 2dsphere permitem reordenação de campos; geoHaystack índices exigem que o primeiro campo seja o campo de localização. Além disso, os índices geoHaystack só podem ser utilizados por meio de comandos e, portanto, sempre retornam todos os resultados de uma só vez.

Índices geoHaystack criam "buckets" de documentos da mesma área geográfica para melhorar o desempenho de queries limitadas a essa área. Cada bloco em um índice geoHaystack contém todos os documentos dentro de uma proximidade especificada de uma determinada longitude e latitude.

Os índices geoHaystack são esparsos por padrão e ignoram a opção esparsa: true . Se um documento não tiver um campo de índice geoHaystack (ou se o campo for null ou uma array vazia), o MongoDB não adicionará uma entrada para o documento ao índice geoHaystack . Para inserções, o MongoDB insere o documento, mas não adiciona ao índice geoHaystack .

Os índices geoHaystack incluem uma chave de índice geoHaystack e uma chave de índice não geoespacial; no entanto, somente o campo de índice geoHaystack determina se o índice faz referência a um documento.

Índices geoHaystack suportam somente comparação binária simples e não suportam agrupamento.

Para criar um índice geoHaystack em uma collection que tem um agrupamento não simples, você deve especificar explicitamente {collation: {locale: "simple"} } ao criar o índice.

Para criar um índice geoHaystack , consulte Criar um índice haystack. Para obter informações e exemplos sobre como consultar um índice do milhagem, consulte Fazer query de um índice do milhagem.