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

db.createView()

Nesta página

  • Compatibilidade
  • Sintaxe
  • Exemplos
  • Comportamento
db.createView()

Observação

Desambiguação

Esta página discute visualizações padrão. Para discussões sobre visualizações materializadas sob demanda, consulte Visualizações materializadas sob demanda.

Para entender as diferenças entre os tipos de exibição, consulte Comparação com exibições materializadas sob demanda.

Cria um modo de exibição como resultado da aplicação do pipeline de agregação especificado à coleta ou exibição de origem. As exibições atuam como coletas somente leitura e são computadas sob demanda durante as operações de leitura. Você deve criar visualizações no mesmo banco de dados que a coleta de origem. O MongoDB executa operações de leitura em visualizações como parte do pipeline de agregação subjacente.

Uma definição de visualização pipeline não pode incluir o estágio $out ou $merge. Essa restrição também se aplica a pipelines incorporados, como pipelines usados em estágios $lookup ou $facet.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

Observação

Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

db.createView tem a seguinte sintaxe:

db.createView(<view>, <source>, <pipeline>, <collation>)

O método tem os seguintes parâmetros:

Parâmetro
Tipo
Descrição

view

string

O nome da visualização a ser criada.

source

string

O nome da coleção de origem ou visualização a partir da qual criar a visualização. O nome não inclui o nome do banco de dados e implica o mesmo banco de dados que a visualização para criar; ele não é o namespace completo da coleção ou visualização. Você deve criar visualizações no mesmo banco de dados que a coleção de origem.

pipeline

array

Um array que consiste nos estágios de agregação pipeline. cria a exibição aplicando odb.createView() especificado pipeline à source collection ou exibição.

Uma definição de visualização pipeline não pode incluir o estágio $out ou $merge. Essa restrição também se aplica a pipelines incorporados, como pipelines usados em estágios $lookup ou $facet.

A definição da visualização é pública; ou seja, as operações db.getCollectionInfos() e explain na exibição incluirão o pipeline que define a visualização. Dessa forma, evite se referir diretamente a campos e valores confidenciais nas definições de visualização.

collation

documento

Opcional. Especifica o agrupamento padrão para o modo de exibição.

A colocação permite que os usuários especifiquem regras específicas do idioma para comparação de strings, como regras para letras maiúsculas e marcas de acento.

Se o source subjacente for uma coleção, a visualização não herda as configurações de agrupamento da coleção.

Se nenhum agrupamento for especificado, o agrupamento padrão da exibição será o agrupador de comparação binária "simples".

Se o source subjacente for outra visualização, a visualização deverá especificar as mesmas configurações de agrupamento.

A opção de agrupamento tem a seguinte sintaxe:

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}

Ao especificar agrupamento, o campo locale é obrigatório; todos os outros campos de agrupamento são opcionais. Para obter descrições dos campos, consulte Documento de agrupamento.

O método db.createView() envolve a seguinte operação de comando create:

db.runCommand( { create: <view>, viewOn: <source>, pipeline: <pipeline>, collation: <collation> } )

Importante

Os nomes de visualização são incluídos na saída da lista de collections

As operações que listam collections, como db.getCollectionInfos() e db.getCollectionNames(), incluem visualizações em seus resultados.

A definição da visualização é pública; ou seja, as operações db.getCollectionInfos() e explain na exibição incluirão o pipeline que define a visualização. Dessa forma, evite se referir diretamente a campos e valores confidenciais nas definições de visualização.

Para ver exemplos de como criar uma visualização, consulte as seguintes páginas:

Para ver detalhes comportamentais das visualizações, consulte Comportamento.

Voltar

db.createCollection