Docs Menu
Docs Home
/ /

db.createView() (método mongosh)

db.createView()

Nota

Desambiguación

Esta página describe las vistas estándar. Para obtener información sobre las vistas materializadas bajo demanda, consulte Vistas materializadas bajo demanda.

Para comprender las diferencias entre los tipos de vistas, consulta Comparación con vistas materializadas on-demand.

Crea una vista como resultado de aplicar la canalización de agregación especificada a la colección o vista de origen. Las vistas actúan como colecciones de solo lectura y se calculan bajo demanda durante las operaciones de lectura. Debe crear las vistas en la misma base de datos que la colección de origen. MongoDB ejecuta operaciones de lectura en las vistas como parte de la canalización de agregación subyacente.

Una definición de vista pipeline no puede incluir la etapa $out o la $merge. Esta restricción también se aplica a pipelines integradas, como las pipelines usadas en las etapas de $lookup o $facet.

Este método está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Nota

Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

db.createView tiene la siguiente sintaxis:

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

El método tiene los siguientes parámetros:

Parameter
Tipo
Descripción

view

string

El nombre de la vista a crear.

source

string

El nombre de la colección o vista de origen desde la que se creará la vista. El nombre no incluye el nombre de la base de datos e implica la misma base de datos que la vista que se va a crear; no es el espacio de nombres completo de la colección o vista. Debe crear las vistas en la misma base de datos que la colección de origen.

pipeline

arreglo

Un arreglo que consiste en las etapas del pipeline de agregación. db.createView() crea la vista aplicando el pipeline especificado a la colección o vista source.

Una definición de vista pipeline no puede incluir la etapa $out o la $merge. Esta restricción también se aplica a pipelines integradas, como las pipelines usadas en las etapas de $lookup o $facet.

La definición de la vista es pública; es decir, las operaciones db.getCollectionInfos() y explain en la vista incluirán el pipeline que define la vista. Por lo tanto, evite referirse directamente a campos y valores sensibles en las definiciones de vistas.

collation

Documento

Opcional. Especifica la intercalación predeterminada para la vista.

La intercalación permite a los usuarios especificar reglas propias del lenguaje para la comparación de strings, como reglas para el uso de mayúsculas y minúsculas y marcas de acento.

Si el source subyacente es una colección, la vista no hereda la configuración de intercalación de la colección.

Si no se especifica ninguna intercalación, la intercalación predeterminada de la vista es el intercalador de comparación binaria "simple".

Si el source subyacente es otra vista, la vista debe especificar las mismas configuraciones de intercalación.

La opción de intercalación tiene la siguiente sintaxis:

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

Al especificar la intercalación, el campo locale es obligatorio; todos los demás campos de intercalación son opcionales. Para las descripciones de los campos, consulta Documento de intercalación.

El db.createView() método envuelve la siguiente operación de create comando:

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

Importante

Los nombres de las vistas están incluidos en la salida de la lista de colecciones

Las operaciones que enumeran colecciones, como db.getCollectionInfos() y db.getCollectionNames(), incluyen vistas en sus resultados.

La definición de la vista es pública; es decir, las operaciones db.getCollectionInfos() y explain en la vista incluirán el pipeline que define la vista. Por lo tanto, evite referirse directamente a campos y valores sensibles en las definiciones de vistas.

Para ver ejemplos de cómo crear una vista, consulte las siguientes páginas:

Para ver los detalles del comportamiento de las vistas, consulte Comportamiento.

Volver

db.createCollection

En esta página