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

Defina campos de origem armazenados em seu índice do Atlas Search

Nesta página

  • Sintaxe
  • Opções
  • Valores booleanos
  • Objeto
  • Exemplos

A opção storedSource em umadefinição de índice do Atlas Search especifica os campos no documento de origem que o Atlas Search deve armazenar. Você pode configurar storedSource para melhorar o desempenho da consulta em certos casos de uso, pois isso reduz a necessidade de consulta implícita no banco de dados de backend. Você pode armazenar campos de todos os tipos de dados no Atlas Search.

O Atlas Search não indexa campos armazenados, portanto você deve indexar os campos em separado para executar consultas nos mesmos. Você também pode recuperar campos armazenados no momento da consulta utilizando a opção ReturnStoredSource.

Observação

storedSource está disponível apenas em clusters Atlas que executam uma das seguintes versões:

  • MongoDB 5.0.6+

  • MongoDB 6.0+

  • MongoDB 7.0+

Para saber mais sobre como recuperar os campos armazenados, consulte Retornar campos de origem armazenados.

A opção storedSource tem a seguinte sintaxe em uma definição de índice:

{
...,
"storedSource": true | false | {
"include" | "exclude": [
"<field-name>",
...
]
}
}

A opção storedSource obtém umvalor booleano ou um objeto na definição de índice.

Valor
Descrição

true

Especifica que o Atlas Search deve armazenar todos os campo nos documento. Armazenar documento completos pode impacto significativamente o desempenho durante a indexação e a query. Para saber mais, consulte Armazenar campos de origem.

false

Especifica que o Atlas Search não deve armazenar o documento de origem original. Este é o valor padrão para a opção storedSource .

O objeto de opção storedSource aceita um dos seguintes campos:

Observação

O objeto deve conter include ou exclude.

Campo
Tipo
Descrição

include

array de strings

Lista que contém os nomes dos campos ou caminhos separados por pontos para os campos a serem armazenados. Além do campo especificado, o Atlas Search armazena _id também por padrão.

exclude

array de strings

Lista que contém os nomes dos campos ou caminhos separados por pontos para campos a serem excluídos do armazenamento. Se especificado, o Atlas Search armazena documento originais, exceto os campo listados aqui.

Os exemplos de índice seguintes utilizam os campos na coleção sample_mflix.movies para demonstrar como configurar os campos para armazenar no Atlas Search utilizando a opção storedSource . Você pode utilizar o Editor Visual ou o Editor JSON na UI do Atlas para configurar os índices.

Exemplo

O exemplo seguinte armazena somente os campos title e awards.wins nos documentos na collection. Após selecionar seu método de configuração preferido, selecione a collection movies sob o reconhecimento de data center sample_mflix.

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

  2. Na seção Stored Source Fields, clique em Specified.

  3. Selecione awards.wins no menu suspenso na coluna Field Name e clique em Add.

  4. Clique em Add Field para especificar outro campo para armazenar.

  5. Selecione title no menu suspenso na coluna Field Name e clique em Add.

  6. Clique em Save Changes.

Adicione as linhas 5 a 10 do exemplo a seguir à definição do índice para armazenar os campos no Atlas Search. O exemplo usa a notação de ponto para especificar campos aninhados.

1{
2 "mappings": {
3 ...
4 },
5 "storedSource": {
6 "include": [
7 "title",
8 "awards.wins"
9 ]
10 },
11 ...
12}

Exemplo

O exemplo a seguir armazena todos os campos exceto directors e imdb.rating nos documentos na coleção. Após selecionar seu método de configuração preferido, selecione a movies coleção sample_mflix .

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

  2. Na seção Stored Source Fields, clique em All Except Specified.

  3. Selecione directors no menu suspenso na coluna Field Name e clique em Add.

  4. Clique em Add Field para especificar outro campo a ser excluído.

  5. Selecione imdb.rating no menu suspenso na coluna Field Name e clique em Add.

  6. Clique em Save Changes.

Acrescente linhas 5 a 10 do exemplo a seguir à definição de índice para excluir os campos. O exemplo usa a notação de ponto para especificar campos aninhados.

1{
2 "mappings": {
3 ...
4 },
5 "storedSource": {
6 "exclude": [
7 "directors",
8 "imdb.rating"
9 ]
10 },
11 ...
12}

Exemplo

O exemplo a seguir armazena todos os campos nos documentos da collection. Após selecionar seu método de configuração preferido, selecione a coleção movies no banco de dados sample_mflix .

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

  2. Na seção Stored Source Fields, clique em All.

  3. Clique em Save Changes.

Anexe a linha 5 do exemplo a seguir à definição do índice para armazenar todos os campos.

1{
2 "mappings": {
3 ...
4 },
5 "storedSource": true,
6 ...
7}

Voltar

uuid