2d
Indexes
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.
Considerações
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çãokey
para especificar o caminho do campo a ser usado.Se você não especificar o
key
, não poderá ter vários índices2d
e/ou vários índices 2dsphere, pois sem okey
, a seleção de índices entre vários índices2d
ou índices2dsphere
é 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.
Comportamento
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.
sparse
Propriedade
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.
Opção de agrupamento
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.