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

Como indexar campos em objetos e documentos

Nesta página

  • Revise as limitações de tipo document
  • Defina o índice para o tipo document
  • Configurar propriedades do campo document
  • Experimente um exemplo para o tipo de document

Você pode usar o tipo Atlas Search document para indexar campos em objeto ou documento.

Se você habilitar mapeamentos dinâmicos, o Atlas Search indexará automaticamente campos do tipo document. Você pode utilizar o Editor Visual ou o Editor JSON na IU do Atlas para indexar campos como o tipo document.

Não é possível usar o tipo document do Atlas Search para indexar campos em objetos ou documentos que estão dentro de uma array. Em vez disso, utilize o tipo documento do Atlas Search para indexar campo em objeto ou documento que são elementos de uma array.

Para definir o índice para o tipo document , 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 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 Document.

  6. Alterne a configuração de Enable Dynamic Mapping para habilitar ou desabilitar a indexação dinâmica de todos os campos indexáveis dinamicamente no documento. Para saber mais, consulte Como configurar propriedades de campo document.

  7. Clique em Add.

  8. Se você desativou o mapeamento dinâmico, clique em Add Child Field para o campo de tipo Document para definir mapeamentos de campo para os campos do documento.

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

1{
2 "mappings": {
3 "dynamic": true|false,
4 "fields": {
5 "<field-name>": {
6 "type": "document",
7 "dynamic": true|false,
8 "fields": {
9 "<field-name>": {
10 <field-mapping-definition>
11 }
12 }
13 }
14 }
15 }
16}

O tipo document 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 o tipo de campo. O valor deve ser document.
dynamic
booleano
Opcional

Sinalizador que indica se o Atlas Search indexa recursivamente todos os campo e documento incorporado. Se definido como true, o Atlas Search indexará recursivamente todos os campo e documento incorporado no document , exceto campo de determinados tipos de dados.

Para indexar todos os campo em um documento incluindo campo que o Atlas Search não indexa dinamicamente, defina os campo na definição de índice.

Se omitido ou definido para false, você deve especificar campos individuais para indexar.

IMPORTANTE: o Atlas Search indexa dinamicamente todos os campos em um document usando as configurações padrão para o tipo de dados detectado. O Atlas Search também indexa dinamicamente todos os documentos aninhados sob document, a menos que você substitua explicitamente definindo dynamic para false.

false
fields
documento
Opcional
Documento que mapeia os nomes dos campos para as definições dos campos. Para saber mais, veja um exemplo. Isso será necessário se dynamic for omitido ou definido como false.

O exemplo de definição de índice abaixo usa a coleção sample_mflix.movies. Se você já tiver os dados de amostra carregados em seu cluster, poderá usar o Visual Editor ou o Editor JSON na UI do Atlas para configurar o índice. Após selecionar seu método de configuração preferido, selecione o banco de dados e a coleção e filtre seu índice para adicionar mapeamentos de campo.

A definição de índice indexa o campo awards como o tipo document . Ele também configura o Atlas Search para indexar automaticamente todos os campo indexáveis dinamicamente dentro do objeto awards .

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

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

  3. Alterne a configuração de Enable Dynamic Mapping para habilitar a indexação dinâmica de todos os campos indexáveis dinamicamente no documento, se ainda não estiver habilitada.

  4. Clique em Add.

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

1{
2 "mappings": {
3 "dynamic": false,
4 "fields": {
5 "awards": {
6 "type": "document",
7 "dynamic": true
8 }
9 }
10 }
11}

Dica

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

Voltar

dateFacet