Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Vistas

Una vista de MongoDB es un objeto consultable de solo lectura cuyo contenido está definido por un pipeline de agregación en otras colecciones o vistas.

MongoDB no guarda el contenido de la vista en el disco. El contenido de una vista se calcula on-demand cuando un cliente consulta la vista.

Nota

Desambiguación

Esta página discute las vistas estándar. Para obtener más información sobre las vistas materializadas on-demand, consulte Vistas materializadas On-demand.

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

Puedes crear vistas materializadas en la interfaz de usuario para despliegues alojados en MongoDB Atlas.

Puede usar vistas para:

  • Se debe crear una vista de una colección de datos de empleados para excluir toda información de identificación personal (PII).

  • Se debe crear una vista en una colección de datos de sensores para agregar campos calculados y métricas.

  • Se debe crear una vista que una dos colecciones que contengan el historial de inventario y pedidos. La aplicación puede consultar la vista sin gestionar ni entender el pipeline subyacente.

  • Crea un índice de MongoDB Search o MongoDB Vector Search en una vista para indexar parcialmente una colección, dar soporte a tipos de datos o modelos de datos incompatibles, y mucho más. Para aprender más, consulta Utiliza vistas con MongoDB Search y Utiliza vistas con MongoDB búsqueda vectorial.

Para aprender a crear y gestionar vistas, consulte los siguientes recursos:

MongoDB ofrece dos tipos diferentes de vistas: vistas estándar y vistas materializadas on-demand. Ambos tipos de vistas devuelven los resultados de una canalización de agregación.

Las vistas estándar utilizan los índices de la colección subyacente. Como resultado, no puede crear, descartar ni reconstruir índices generales directamente en una vista estándar, ni obtener una lista de índices generales en la vista.

MongoDB almacena los índices de búsqueda y los índices de búsqueda vectorial en disco. En consecuencia, puedes crear índices MongoDB Search e índices MongoDB Vector Search en vistas compatibles que contengan sólo las siguientes etapas:

También puede crear índices directamente en las vistas materializadas on-demand, porque MongoDB almacena esos índices en el disco.

Las vistas materializadas on-demand ofrecen un mejor rendimiento de lectura que las vistas estándar porque se leen desde el disco en lugar de calcularse como parte de la query. Este beneficio en el rendimiento aumenta en función de la complejidad del pipeline y del tamaño de los datos que se están agregando.

Las vistas son de solo lectura. Las operaciones de guardar en las vistas devuelven un error.

Las vistas no mantienen marcas de tiempo de los cambios en la colección ni admiten el aislamiento de lectura en un punto específico o aislamiento de lectura de instantáneas.

La canalización de agregación subyacente de la vista está sujeta al límite de memoria de 100 megabytes para operaciones de ordenamiento y agrupamiento bloqueantes.

Las etapas de la pipeline que requieren más de 100 megabytes de memoria para ejecutarse escriben archivos temporales en el disco por defecto. Estos archivos temporales duran durante la ejecución del pipeline y pueden afectar el espacio de almacenamiento en tu instancia.

Los comandos individuales find y aggregate pueden anular el parámetro allowDiskUseByDefault de las siguientes maneras:

  • Se utiliza { allowDiskUse: true } para permitir la escritura de archivos temporales en el disco cuando allowDiskUseByDefault se establece en false

  • Se utiliza { allowDiskUse: false } para prohibir la escritura de archivos temporales en el disco cuando allowDiskUseByDefault esté configurado en true

Nota

Para MongoDB Atlas, se recomienda configurar el escalado automático de almacenamiento para evitar que los queries de larga duración llenen el almacenamiento con archivos temporales.

Si su clúster de Atlas utiliza el escalado automático de almacenamiento, los archivos temporales pueden hacer que su clúster escale al siguiente nivel de almacenamiento.

Las colecciones de series de tiempo son vistas no materializadas que se pueden escribir. Las limitaciones para las vistas se aplican a las colecciones de series de tiempo. Para obtener más información, consulte las Limitaciones de la colección de series de tiempo.

Si la implementación aplica autenticación:

  • Para crear una vista, debes tener el privilegio createCollection en la base de datos donde se crea la vista. Además, si tienes el privilegio find en el namespace de la vista que deseas crear, también debes tener el privilegio find en los siguientes recursos:

    • La colección o vista de origen desde la cual se crea la nueva vista.

    • Cualquier colección o vista referenciada en el pipeline de vistas.

  • Para consultar una vista, debes tener el privilegio find en el namespace de la vista. No necesitas el privilegio find en la colección de origen ni en ningún namespace referenciado en la pipeline de vistas.

Un usuario con el rol readWrite incorporado en la base de datos tiene los privilegios necesarios para ejecutar las operaciones mencionadas. Para conceder los permisos necesarios, realiza una de las siguientes acciones:

Volver

Bases de datos y colecciones

En esta página