db.createView()
Nesta página
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
.
Sintaxe
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 | Uma array que consiste n(s) estágio(s) do pipeline de agregação. Uma definição de visualização A definição da visualização é pública; ou seja, as operações | ||||||||||
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 Se nenhum agrupamento for especificado, o agrupamento padrão da exibição será o agrupador de comparação binária "simples". Se o A opção de agrupamento tem a seguinte sintaxe:
Ao especificar agrupamento, o campo |
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.
Exemplos
Para ver exemplos de como criar uma visualização, consulte as seguintes páginas:
Comportamento
Para ver detalhes comportamentais das visualizações, consulte Comportamento.