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
pipelineno puede incluir la etapa$outo la$merge. Esta restricción también se aplica a pipelines integradas, como las pipelines usadas en las etapas de$lookupo$facet.
Compatibilidad
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.
Sintaxis
db.createView tiene la siguiente sintaxis:
db.createView(<view>, <source>, <pipeline>, <collation>)
El método tiene los siguientes parámetros:
Parameter | Tipo | Descripción | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| string | El nombre de la vista a crear. | ||||||||||
| 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. | ||||||||||
| arreglo | Un arreglo que consiste en las etapas del pipeline de agregación. Una definición de vista La definición de la vista es pública; es decir, las operaciones | ||||||||||
| 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 Si no se especifica ninguna intercalación, la intercalación predeterminada de la vista es el intercalador de comparación binaria "simple". Si el La opción de intercalación tiene la siguiente sintaxis: Al especificar la intercalación, el campo |
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.
Ejemplos
Para ver ejemplos de cómo crear una vista, consulte las siguientes páginas:
Comportamiento
Para ver los detalles del comportamiento de las vistas, consulte Comportamiento.