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

Como indexar objetos GeoJSON

Nesta página

  • Definir o índice para o tipo geo
  • Configurar propriedades do campo geo
  • Experimente um exemplo para o tipo de geo

Você pode utilizar o tipo de Atlas Search geo para indexar pontos geográficos e coordenadas de forma. Para esse tipo, o campo indexado deve ser um objeto GeoJSON. Você pode usar os operadores geoShape e geoWithin para queries de campos indexados do tipo geo.

O Atlas Search não indexa dinamicamente campos de índice do tipo geo. Você deve utilizar mapeamentos estáticos para indexar campos do geo. Você pode usar o Visual Editor ou o JSON Editor na UI do Atlas para indexar campos do tipo geo.

Para definir o índice para o tipo geo , escolha seu método de configuração preferido na UI do Atlas e então selecione o banco de dados e collection.

  1. Clique em Refine Your Index para configurar seu índice.

  2. Na seção Field Mappings, clique em Add Field Mapping para abrir a janela Add Field Mapping.

  3. Clique em Customized Configuration.

  4. Selecione o campo a ser indexado no menu suspenso Field Name.

    Observação

    Você não pode indexar campos que contêm o sinal de dólar ($) no início do nome do campo.

  5. Clique no menu suspenso Data Type e selecione Geo.

  6. Configure as propriedades do campo para o tipo geo. Para saber mais, consulte Propriedades do campo.

  7. Clique em Add.

A seguir está a sintaxeJSON para o tipo geo. Substitua a definição de índice padrão pelo seguinte. Para saber mais sobre os campos, consulte Propriedades do campo.

{
"mappings": {
"dynamic": false,
"fields": {
"<field-name>": {
"indexShapes": true|false,
"type": "geo"
}
}
}
}

O tipo geo do Atlas Search usa os seguintes parâmetros:

Opção
Tipo
necessidade
Descrição
Default
type
string
Obrigatório
Etiqueta legível por humanos que identifica este tipo de campo. O valor da IU deve ser Geo e o valor JSON deve ser geo.
indexShapes
booleano
Opcional

Sinalizador que indica se as formas devem ser indexadas. Por padrão, o Atlas Search:

  • Indexa pontos, mesmo quando aninhado.

  • Não indexa geometrias de formas, como linhas e polígonos.

O valor pode ser:

  • true para indexar formas e pontos

  • false para indexar apenas pontos

false

O exemplo de definição de índice a seguir utiliza o sample_irblonb.listingsAndReviews collection. Se você tiver os dados de amostra já carregados no seu agrupamento, você poderá utilizar o Editor Visual ou o Editor JSON na UI do Atlas para configurar o índice. Após selecionar seu método de configuração preferido, selecione o reconhecimento de data center e a collection e filtre seu índice para adicionar mapeamentos de campo.

A definição de índice a seguir indexa o campo address.location como o tipo geo para oferecer suporte a query nesse campo usando os operadores geoShape e geoWithin do Atlas Search .

  1. Na janela Add Field Mapping, selecione address.location no menu suspenso Field Name.

  2. Clique no menu suspenso Data Type e selecione Geo.

  3. Modifique o Geo Properties para definir o valor de Index Shapes para true.

  4. Clique em Add.

Substitua a definição de índice padrão pela seguinte definição de índice.

1{
2 "mappings": {
3 "fields": {
4 "address": {
5 "type": "document",
6 "fields": {
7 "location": {
8 "indexShapes": true,
9 "type": "geo"
10 }
11 }
12 }
13 }
14 }
15}

Dica

Consulte também: Exemplos adicionais de definição de índice

Voltar

Documentos incorporados