Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/

geoHaystack Indexes

Nesta página

  • Comportamento
  • sparse Propriedade
  • Criar índice geoHaystack

Importante

Removido no MongoDB 5.0

MongoDB 5.0 remove o índice geoHaystack obsoleto e o comando geoSearch . Em vez disso, use um 2d index com $geoNear ou um dos geospatial query operators compatíveis.

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.

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

geoHaystack os índices são escassos por padrão e ignoram a opção esparso: verdadeiro . Se um documento não tiver um campo de índice geoHaystack (ou 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 .

geoHaystack os índices 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.

geoHaystack os índices suportam apenas a comparação binária simples e não suportam o 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.

Voltar

Calcular distância utilizando geometria esférica