En el Las etapas delpipeline se db.collection.aggregate()muestran en db.aggregate() una matriz con los métodos y. En la interfaz de usuario de Atlas, puede organizar las etapas del pipeline mediante Generador de canales de agregación. Los documentos pasan por las etapas en secuencia.
db.collection.aggregate() Stages
Todas las etapas, excepto las $out, $merge, $geoNear, $changeStream y $changeStreamSplitLargeEvent pueden aparecer varias veces en un pipeline.
Nota
Para obtener detalles sobre un comando específico, incluida la sintaxis y ejemplos, haga clic en el enlace a la página de referencia del comando.
db.collection.aggregate( [ { <stage> }, ... ] )
Etapa | Descripción |
|---|---|
Agrega nuevos campos a los documentos. De forma similar a
| |
Clasifica los documentos entrantes en grupos, llamados buckets, basados en una expresión especificada y límites de bucket. | |
Clasifica los documentos entrantes en un número específico de grupos, denominados buckets, según una expresión especificada. Los límites de los buckets se determinan de manera automática con el objetivo de distribuir uniformemente los documentos en el número especificado de buckets. | |
Devuelve un cursor de flujo de cambios para la colección. Esta etapa solo puede ocurrir una vez en un pipeline de agregación y debe ser la primera etapa. | |
Divide los eventos grandes de flujo de cambios que superan los 16 MB en fragmentos más pequeños que se devuelven en un cursor de flujo de cambios. Solo puedes utilizar | |
Devuelve estadísticas sobre una colección o vista. | |
Devuelve un recuento del número de documentos en esta etapa del pipeline de agregación. Distinto del acumulador de agregación | |
Crea nuevos documentos en una secuencia de documentos donde faltan ciertos valores en un campo. | |
Devuelve documentos literales a partir de expresiones de entrada. | |
Procesa múltiples canalizaciones de agregación dentro de una sola etapa en el mismo conjunto de documentos de entrada. Permite la creación de agregaciones multifacéticas capaces de caracterizar datos a través de múltiples dimensiones, o facetas, en una sola etapa. | |
Rellena | |
Realiza una búsqueda recursiva en una colección. A cada documento de salida, agrega un nuevo campo de arreglo que contenga los resultados del recorrido de la búsqueda recursiva para ese documento. | |
Agrupa los documentos de entrada mediante una expresión de identificador específica y aplica la expresión del acumulador, si se especifica, a cada grupo. Consume todos los documentos de entrada y produce un documento por cada grupo distinto. Los documentos de salida solo contienen el campo identificador y, si se especifica, los campos acumulados. | |
Devuelve estadísticas sobre el uso de cada índice de la colección. | |
Pasa los primeros n documentos sin modificar al pipeline donde n es el límite especificado. Para cada documento de entrada, se genera un documento (para los primeros n documentos) o cero documentos (después de los primeros n documentos). | |
Recupera información sobre colecciones en un clúster, incluidos los nombres y las opciones de creación. | |
Enumera los queries de muestra para todas las colecciones o para una colección específica. | |
Devuelve información sobre los índices de búsqueda de MongoDB existentes en una colección o vista especificada. | |
Enumera todas las sesiones que han estado activas el tiempo suficiente para propagarse a la colección | |
Realiza una unión externa izquierda con otra colección o vista en la misma base de datos para incluir documentos de la colección o vista "unida" para su procesamiento. | |
Filtra el flujo de documentos para permitir que solo los documentos coincidentes pasen sin modificaciones a la siguiente etapa del pipeline. | |
Guarda los documentos resultantes del pipeline de agregación en una colección. La etapa puede incorporar (insertar nuevos documentos, fusionar documentos, reemplazar documentos, conservar documentos existentes, fallar la operación, procesar documentos con un pipeline de actualización personalizado) los resultados en una colección de salida. Para usar la etapa | |
Guarda los documentos resultantes del pipeline de agregación en una colección. Para usar la etapa | |
Devuelve información de la caché de planes para una colección. | |
Reestructura cada documento del flujo, por ejemplo, agregando nuevos campos o removiendo los existentes. Para cada documento de entrada, genera un documento. Consulta también | |
Devuelve la configuración del query agregada anteriormente con Nuevo en la versión 8.0. | |
Devuelve estadísticas de tiempo de ejecución para los query registrados. ADVERTENCIA: La etapa de agregación | |
Combina los resultados de las pipelines de entrada que clasifican documentos. | |
Reconfigura cada documento en la secuencia restringiendo el contenido de cada documento según la información almacenada en los propios documentos. Incorpora la funcionalidad de | |
Reemplaza un documento con el documento incrustado específico. La operación reemplaza todos los campos existentes en el documento de entrada, incluido el campo
| |
Reemplaza un documento con el documento incrustado específico. La operación reemplaza todos los campos existentes en el documento de entrada, incluido el campo
| |
Selecciona aleatoriamente el número específico de documentos de su entrada. | |
Realiza una búsqueda de texto completo de los campos en una colección de Atlas. Para obtener más información, consulta Etapas del pipeline de agregación de búsqueda de MongoDB. | |
Devuelve diferentes tipos de documentos de resultados de metadatos para el query de búsqueda de MongoDB contra una colección de Atlas. Para obtener más información, consulta Etapas del pipeline de agregación de búsqueda de MongoDB. | |
Agrega nuevos campos a los documentos. De forma similar a
| |
Agrupa documentos en ventanas y aplica uno o más operadores a los documentos en cada ventana. Nuevo en la versión 5.0. | |
Omite los primeros documentos n, donde n es el número de omisión especificado, y pasa los documentos restantes sin modificar al pipeline. Para cada documento de entrada, se genera cero documentos (para los primeros documentos n) o un documento (después de los primeros documentos n). | |
Reordena el flujo de documentos por una clave de ordenación específica. Solo cambia el orden; los documentos permanecen sin modificar. Para cada documento de entrada, genera un documento. | |
Agrupa los documentos entrantes según el valor de una expresión especificada y luego calcula el número de documentos en cada grupo distinto. | |
Realiza una unión de dos colecciones; es decir, combina los resultados del pipeline de dos colecciones o vistas en un único conjunto de resultados. | |
Descompone un campo de arreglo de los documentos de entrada para producir un documento por cada elemento. Cada documento de salida reemplaza el arreglo con un valor de elemento. Para cada documento de entrada, genera documentos n, donde n es el número de elementos del arreglo y puede ser cero para un arreglo vacío. | |
Para aprender sobre expresiones que puedas usar en etapas del pipeline, consulta Expresiones.
Etapas de db.aggregate()
MongoDB también proporciona el método db.aggregate():
db.aggregate( [ { <stage> }, ... ] )
Las siguientes etapas utilizan el método db.aggregate() y no el método db.collection.aggregate().
Etapa | Descripción |
|---|---|
Devuelve un cursor de flujo de cambios para la colección. Esta etapa solo puede ocurrir una vez en un pipeline de agregación y debe ser la primera etapa. | |
Devuelve información sobre las operaciones activas y/o inactivas de la implementación de MongoDB. | |
Devuelve documentos literales desde valores de entrada. | |
Etapas disponibles para actualizaciones
Puedes utilizar el pipeline de agregación para actualizaciones en:
Comando | mongosh Métodos |
|---|---|
Para las actualizaciones, el pipeline puede constar de las siguientes etapas:
$addFieldsy su alias$set$replaceRooty su alias$replaceWith