Overview
En esta guía, puede aprender cómo crear una canalización de agregación y etapas de canalización mediante el uso de métodos en el controlador MongoDB Node.js.
Compilar un pipeline de agregación
Puedes usar el controlador de Node.js para crear una canalización de agregación creando una variable de canalización o pasando etapas de agregación directamente al método de agregación. Consulta los siguientes ejemplos para obtener más información sobre cada uno de estos enfoques.
// Defines the aggregation pipeline const pipeline = [ { $match: { ... } }, { $group: { ... } } ]; // Executes the aggregation pipeline const results = await collection.aggregate(pipeline);
// Defines and executes the aggregation pipeline const results = await collection.aggregate([ { $match: { ... } }, { $group: { ... } } ]);
Métodos de la etapa de agregación
La siguiente tabla enumera las etapas del pipeline de agregación. Para obtener más información sobre una etapa de agregación y ver un ejemplo de código en una aplicación Node.js, sigue el enlace desde el nombre de la etapa a su página de referencia en el manual de MongoDB Server.
Etapa | Descripción |
|---|---|
Agrega nuevos campos a los documentos. Genera documentos que contienen tanto los campos existentes de los documentos de entrada como los campos recién añadidos.
| |
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. Debe ser la primera etapa en la pipeline.
| |
Divide los grandes eventos 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. Debe ser la última etapa en la pipeline.
| |
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. | |
Devuelve una secuencia de documentos que contienen información sobre las operaciones activas e inactivas y cualquier sesión que esté reteniendo bloqueos de manera inactiva como parte de una transacció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 pipelines 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. | |
Devuelve documentos en orden de más cercanos a más lejanos desde un punto especificado. Este método añade un campo a los documentos de salida que contiene la distancia desde el punto especificado. | |
Realiza una búsqueda recursiva en una colección. Este método agrega un nuevo campo de arreglo a cada documento de salida que contiene los resultados de la búsqueda recursiva para ese documento. | |
Agrupa los documentos de entrada mediante una expresión de identificador especificada y aplica las expresiones acumuladoras, si se especifican, 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 de 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 a la pipeline, donde n es el límite especificado. Para cada documento de entrada, genera uno o ningún documento (para los primeros n documentos) o ningún documento (después de los primeros n documentos). | |
Enumera las queries muestreadas para todas las colecciones o una colección específica. Solo está disponible para colecciones con Queryable Encryption activado. | |
Devuelve información sobre los existentes Índices de búsqueda de MongoDB en una colección especificada. | |
Realiza un left outer join a otra colección en la misma base de datos para filtrar documentos de la colección "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. Para cada documento de entrada, se genera un documento (si hay coincidencia) o cero documentos (si no hay coincidencia). | |
Escribe 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 una pipeline de actualización personalizada) los resultados en una colección de salida. Para usar esta etapa, debe ser la última etapa en la pipeline. | |
Escribe los documentos resultantes del pipeline de agregación en una colección. Para utilizar esta etapa, debe ser la última fase en el pipeline. | |
Reestructura cada documento del flujo, por ejemplo, agregando nuevos campos o removiendo los existentes. Para cada documento de entrada, genera un documento. | |
Reestructura cada documento en el flujo 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 La etapa | |
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 La etapa | |
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. Esta etapa está disponible solo para clústeres de MongoDB Atlas y no está disponible para implementaciones autogestionadas. Para obtener más información, consulte MongoDB Search etapas del pipeline de agregación en la documentación de Atlas. | |
Devuelve diferentes tipos de documentos de resultados de metadatos para la query de MongoDB Search contra una colección de Atlas. Esta etapa está disponible solo para clústeres de MongoDB Atlas y no está disponible para implementaciones autogestionadas. Para obtener más información, consulte MongoDB Search etapas del pipeline de agregación en la documentación de Atlas. | |
Agrega nuevos campos a los documentos. Al igual que el método | |
Agrupa documentos en ventanas y aplica uno o más operadores a los documentos en cada ventana. | |
Omite los primeros n documentos, donde n es el número de omisiones especificado, y pasa los documentos restantes sin modificar a la pipeline. Para cada documento de entrada, genera cero documentos (para los primeros n documentos) o un documento (después de los primeros n documentos). | |
Reordena el flujo de documentos mediante una clave de ordenación especificada. Los documentos permanecen sin modificar. Por cada documento de entrada, genera un documento de salida. | |
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. | |
Combina los resultados del pipeline de dos colecciones en un único conjunto de resultados. | |
Remueve/excluye campos de los documentos.
| |
Deconstruye un campo de arreglo de los documentos de entrada para generar un documento por cada elemento. Cada documento de salida sustituye el arreglo por un valor de elemento. Para cada documento de entrada, se generan n Documentos, donde n es la cantidad de elementos del arreglo. n puede ser cero para un arreglo vacío. | |
Realiza una ANN o ENN búsqueda en un vector en el campo especificado de una colección de Atlas. Esta etapa está disponible solo para clústeres de MongoDB Atlas y no está disponible para implementaciones autogestionadas. Para obtener más información, consulta MongoDB Vector Search. |
Documentación de la API
Para obtener más información sobre cómo ensamblar un pipeline de agregación, consulta Pipeline de agregación en el manual del servidor MongoDB.
Para obtener más información sobre los métodos y clases utilizados en esta página, consulta la siguiente documentación de la API: