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 usar o tipo geo do Atlas Search para indexar pontos geográficos e coordenadas de forma. Para este tipo, o campo indexado deve ser um objetoGeoJSON do . Você pode usar os operadores geoShape e geoWithin para consultar 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. 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.

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

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

  6. Clique em Add.

A seguir está a sintaxe JSON 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 UI deve ser Geo e o valor do 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

Próximo

vetor de conhecimento