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

db.aggregate() (método mongosh)

db.aggregate()

Ejecuta una pipeline administrativa/diagnóstica especificada que no requiere una colección subyacente. Para las agregaciones en datos de colección, consulte db.collection.aggregate().

Importante

Método mongosh

Esta página documenta a Método mongosh. Esta no es la documentación de comandos de base de datos ni de controladores específicos del lenguaje, como Node.js.

Para el comando de base de datos, consulta el comando aggregate.

Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.

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.

El método db.aggregate() tiene la siguiente sintaxis:

db.aggregate( [ <pipeline> ], { <options> } )

Nota

db.aggregate() puede aceptar las etapas del pipeline como argumentos separados en lugar de como elementos de un arreglo. Si no especificas el pipeline como un arreglo, no puedes especificar el parámetro options.

El parámetro pipeline es un arreglo de etapas a ejecutar. La pipeline debe comenzar con una etapa compatible que no requiera una colección subyacente, como $currentOp o $listLocalSessions.

El documento options puede contener los siguientes campos:

Campo
Tipo
Descripción

explain

booleano

opcional. Especifica si el método devuelve información sobre el procesamiento de la pipeline.

Consulta Devolver información sobre la operación de la pipeline de agregación para ver un ejemplo.

IMPORTANTE: Esta opción no está disponible en transacciones multi-documento.

allowDiskUse

booleano

opcional. Permite escribir en archivos temporales. Cuando se establece en true, las operaciones de agregación escriben datos en el subdirectorio _tmp en el directorio dbPath. Consulta Interacción con allowDiskUseByDefault para ver un ejemplo.

Los mensajes de registro del perfilador y los mensajes de registro de diagnóstico incluyen un indicador usedDisk si alguna etapa de agregación escribió datos en archivos temporales debido a restricciones de memoria.

cursor

Documento

opcional. Especifica el tamaño inicial del lote para el cursor. El valor del campo cursor es un documento con el campo batchSize. Consulte Especificar un tamaño de lote inicial para la sintaxis y un ejemplo.

maxTimeMS

non-negative integer

Opcional. Especifica un límite de tiempo en milisegundos para el procesamiento de operaciones en un cursor. Si no se especifica un valor para maxTimeMS, las operaciones no tienen tiempo de espera predefinido. Un valor de 0 especifica explícitamente el comportamiento por defecto sin límites.

MongoDB finaliza las operaciones que exceden su límite de tiempo asignado utilizando el mismo mecanismo que db.killOp(). MongoDB solo termina una operación en uno de sus puntos de interrupción designados.

bypassDocumentValidation

booleano

Opcional. Aplicable solo si se especifican las etapas de agregación $out o $merge.

Permite que db.collection.aggregate() omita la validación de esquemas durante la operación. Esto permite insertar documentos que no cumplen con los requisitos de validación.

readConcern

Documento

Opcional. Especifica el nivel de consistencia de lectura.

La opción readConcern tiene la siguiente sintaxis: readConcern: { level: <value> }

Los posibles niveles de consistencia de lectura son estos:

Para obtener más información sobre los niveles de consistencia de lectura, consulta Nivel de consistencia de lectura.

La etapa $out no se puede usar junto con el nivel de consistencia de lectura "linearizable". Si especificas "linearizable" nivel de consistencia de lectura para db.collection.aggregate(), no podrás incluir la etapa $out en la pipeline.

La etapa $merge no se puede usar junto con el nivel de consistencia de lectura "linearizable". Es decir, si especificas el "linearizable" nivel de consistencia de lectura para db.collection.aggregate(), no puedes incluir la etapa $merge en la pipeline.

collation

Documento

Opcional.

Especifica la intercalación a utilizar para la operación.

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.

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.

Si no se especifica la intercalación, pero la colección tiene una intercalación por defecto (ver db.createCollection()), la operación utiliza la intercalación especificada para la colección.

Si no se especifica ninguna intercalación para la colección o para las operaciones, MongoDB utiliza la comparación binaria simple usada en versiones anteriores para las comparaciones de strings.

No puedes especificar varias intercalaciones para una operación. Por ejemplo, no puedes especificar diferentes intercalaciones por campo, o si realizas una búsqueda con un ordenamiento, no puedes usar una intercalación para la búsqueda y otra para el ordenamiento.

hint

string o documento

Opcional. El índice que se utilizará para la agregación. El índice se encuentra en la colección/vista inicial sobre la cual se ejecuta la agregación.

Especifique el índice ya sea por su nombre o por el documento de especificación del índice.

IMPORTANTE: El hint no se aplica a las etapas $lookup y $graphLookup.

comment

string

opcional. Los usuarios pueden especificar un string arbitrario para ayudar a rastrear la operación a través del perfilador de base de datos, currentOp y los registros.

writeConcern

Documento

Opcional. Un documento que expresa el nivel de confirmación de escritura a utilizar con la etapa $out o $merge.

Omite este parámetro para usar el nivel de confirmación de escritura (write concern) por defecto con la etapa $out o $merge.

El siguiente ejemplo ejecuta un pipeline con dos etapas. La primera etapa ejecuta la operación $currentOp y la segunda etapa filtra los resultados de esa operación.

use admin
db.aggregate( [ {
$currentOp : { allUsers: true, idleConnections: true } }, {
$match : { shard: "shard01" }
}
] )

Volver

db.adminCommand

En esta página