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

Criar um 2d Índice

Nesta página

  • Definir faixa de localização para um índice 2d
  • Definir Precisão de Localização para um Índice 2d

Para construir um índice geoespacial 2d , utilize o método db.collection.createIndex() e especifique 2d. Use a seguinte sintaxe:

db.<collection>.createIndex( { <location field> : "2d" ,
<additional field> : <value> } ,
{ <index-specification options> } )

O índice 2d utiliza as seguintes opções opcionais de especificação de índice:

{ min : <lower bound> , max : <upper bound> ,
bits : <bit precision> }

Por padrão, um índice 2d pressupõe longitude e latitude e tem limites de -180 inclusivo e 180 não inclusivo. Se os documentos contiverem dados de coordenadas fora do intervalo especificado, o MongoDB retornará um erro.

Importante

Os limites padrão permitem que os aplicativos insiram documentos com latitudes inválidas maiores que 90 ou menores que -90. O comportamento de query geoespaciais com estes ponto inválidos não está definido.

Em índices do 2d , você pode alterar o intervalo de localização.

Você pode construir um índice geoespacial 2d com uma faixa de localização diferente do padrão. Utilize as opções min e max ao criar o índice. Use a seguinte sintaxe:

db.collection.createIndex( { <location field> : "2d" } ,
{ min : <lower bound> , max : <upper bound> } )

Por padrão, um índice 2d em legacy coordinate pairs usa 26 bits de precisão, o que é aproximadamente equivalente a 2 p A precisão é medida pelo tamanho em bits dos valores de geohash utilizados para armazenar dados de localização. Você pode configurar índices geoespaciais com até 32 bits de precisão.

A precisão do índice não afeta a precisão da query. As coordenadas de grade reais são sempre usadas no processamento final da query. As vantagens da precisão menor são uma sobrecarga de processamento menor para operações de inserção e o uso de menos espaço. Uma vantagem da maior precisão é que a query examina porções menores do índice para retornar resultados.

To configure a location precision other than the default, use the bits option when creating the index. Use a seguinte sintaxe:

db.<collection>.createIndex( {<location field> : "<index type>"} ,
{ bits : <bit precision> } )

Para informações sobre os valores internos dos valores de geohash, consulte Cálculo de valores de Geohash para Índices 2d .

Voltar

2d