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

2d Indexes

Nesta página

  • Considerações
  • Comportamento
  • sparse Propriedade
  • Opção de agrupamento

Use um índice 2d para dados armazenados como pontos em um plano bidimensional. O índice 2d destina-se a legacy coordinate pairs usados no MongoDB 2.2 e anteriores.

Utilize um índice 2d se:

  • seu reconhecimento de data center tiver legacy coordinate pairs do MongoDB 2.2 ou anterior e

  • você não pretende armazenar quaisquer dados de localização como objetos GeoJSON .

Para mais informações sobre query geoespaciais, consulte query geoespaciais.

Você pode especificar uma opção key para o estágio de pipeline $geoNear para indicar o caminho do campo indexado a ser usado. Isso permite que o estágio $geoNear seja usado em uma collection que tenha vários índices 2d e/ou vários índices2dsphere:

  • Se a sua collection tiver vários índices 2d e/ou vários índices 2dsphere, você deverá usar a opção key para especificar o caminho do campo a ser usado.

  • Se você não especificar o key, não poderá ter vários índices 2d e/ou vários índices 2dsphere, pois sem o key, a seleção de índices entre vários índices 2d ou índices 2dsphere é ambígua.

Observação

Se você não especificar key e tiver no máximo apenas um índice 2d e/ou apenas um índice 2dsphere, o MongoDB procurará primeiro um índice 2d para usar. Se um índice 2d não existir, o MongoDB procurará um índice 2dsphere para usar.

Não utilize um índice 2d se seus dados de localização incluírem objetos GeoJSON. Para indexar em pares de coordenadas herdados e objetos GeoJSON, use um índice 2dsphere .

Não é possível usar um índice 2d como chave de shard ao fragmentar uma coleção. No entanto, você pode criar um índice geoespacial em uma coleção fragmentada utilizando um campo diferente como a chave fragmentada.

O índice 2d suporta cálculos em um plano plano, Euclideano. O índice 2d também suporta cálculos somente de distância em uma esfera (ou seja, $nearSphere), mas para cálculos geométricos em uma esfera (por exemplo, $geoWithin), armazenam dados como objetos GeoJSON e utilizam um índice 2dsphere .

Um índice 2d pode referenciar dois campos. O primeiro deve ser o campo de localização. Um índice composto 2d constrói query que selecionam primeiro no campo de localização e, em seguida, filtra esses resultados pelos critérios adicionais. Um índice composto 2d pode query coberta.

2d os índices são sempre escassos e ignoram a opção esparsa . Se um documento não tiver um campo de índice 2d (ou o campo for null ou uma array vazia), o MongoDB não adicionará uma entrada para o documento ao índice 2d . Para inserções, o MongoDB insere o documento, mas não adiciona ao índice 2d .

Para um índice composto que inclui uma chave de índice 2d junto com chaves de outros tipos, somente o campo de índice 2d determina se o índice faz referência a um documento.

2d os índices suportam apenas a comparação binária simples e não suportam a opção de agrupamento .

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

Voltar

Fazer query de um índice 2dsphere