Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

db.createView() (método mongosh)

db.createView()

Nota

Desambiguación

Esta página analiza las vistas estándar. Para discusión de vistas materializadas on-demand, vea Vistas materializadas on-demand.

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 pipeline de agregación especificada a la colección o vista de origen. Las vistas actúan como colecciones de solo lectura y se calculan on-demand durante las operaciones de lectura. Debes crear vistas en la misma base de datos que la colección de origen. MongoDB ejecuta operaciones de lectura en vistas como parte del pipeline 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 de origen o la vista desde la cual se va a crear la vista. El nombre no incluye el nombre de la base de datos y supone la misma base de datos que la vista a crear; no es el namespace completo de la colección ni de la vista. Debe crear 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 por defecto de la vista es el intercalador de comparación binaria "simple".

Si el source subyacente es otra vista, la vista debe especificar la misma configuración de intercalado.

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 método db.createView() cubre la siguiente operación de comando create:

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.createEncryptedCollection

En esta página