Índices de esferas
Os índices 2dsphere suportam queries geoespaciais em uma esfera semelhante à Terra. Por exemplo, índices 2dsphere podem:
Determinar pontos dentro de uma área especificada.
Calcula a proximidade para um ponto especificado.
Retornar correspondências exatas em queries de coordenadas.
Os valores do campo indexado devem ser um dos seguintes:
Para pares de coordenadas legados, o índice 2dsphere converte os dados em pontos GeoJSON.
Para criar um índice de 2dsphere, especifique a string 2dsphere
como o tipo de índice:
db.<collection>.createIndex( { <location field> : "2dsphere" } )
Observação
Ao criar um índice dsphere 2, o primeiro valor, ou longitude, deve estar entre -180 e 180, inclusive. O segundo valor, ou latitude, deve estar entre -90 e 90, inclusive. Essas coordenadas "envolvem" a esfera. Por exemplo, -179.9 e +179.9 são vizinhos próximos.
Casos de uso
Use índices 2dsphere para realizar queries e executar cálculos em dados de localização onde os pontos de dados aparecem na Terra ou em outra superfície esférica. Por exemplo:
Um aplicativo de entrega de comida usa índices 2dsphere para ajudar a pesquisar restaurantes próximos.
Um aplicativo de planejamento de rota utiliza índices 2dsphere para calcular a distância mais curta entre paradas de descanso.
Um planejador de cidades usa índices 2dsphere para encontrar parques dentro dos limites da cidade.
Começar
Para saber como criar e consultar índices 2dsphere, acesse:
Detalhes
Os índices 2dsphere são sempre esparsos e têm comportamentos especiais quando criados como parte de um índice composto.
sparse
Propriedade
Os índices 2dsphere são sempre esparsos. Ao criar um índice 2dsphere, o MongoDB ignora a opção sparse
.
Se um documento existente ou recém-inserido não contiver um campo de índice 2dsphere (ou se o campo for null
ou uma array vazia), o MongoDB não adicionará uma entrada para o documento ao índice.
Índices 2dsphere compostos
Para um índice composto que inclui uma chave de índice 2dsphere junto com chaves de outros tipos, somente o campo de índice 2dsphere determina se o índice faz referência a um documento.
Um índice 2dsphere composto pode referenciar vários campos de localização e não localização. Por outro lado, um índice composto 2d só pode fazer referência a um campo de localização e a um outro campo.