Docs Menu
Docs Home
/ /
Databases

db.aggregate()

Nuevo en la versión 3.6.

db.aggregate()

Ejecuta una canalización de administración/diagnóstico específica que no requiere una colección subyacente. Para obtener información sobre agregaciones en datos de colección, consulte db.collection.aggregate().

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

db.aggregate( [ <pipeline> ], { <options> } )
  • El pipeline parámetro es una matriz de etapas a ejecutar. Debe comenzar con una etapa compatible que no requiera una colección subyacente, como $currentOp $listLocalSessionso.

  • El documento options puede contener los siguientes campos y valores:

    Campo
    Tipo
    Descripción

    explain

    booleano

    Opcional. Especifica que se devuelva información sobre el procesamiento de la canalización. Consulte "Devolver información sobre la operación de canalización de agregación" para ver un ejemplo.

    No disponible en transacciones multi-documento.

    allowDiskUse

    booleano

    Opcional. Permite escribir en archivos temporales. Cuando se establece true en, las operaciones de agregación pueden escribir datos en el _tmp subdirectorio del directorio. Consulte "Realizar una operación dbPath de ordenación grande con ordenación externa" 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 del lote inicial del cursor. El valor del cursor campo corresponde a un documento con el campo. Consulte "Especificar un tamaño de lote inicial"batchSize para ver 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 tendrán un tiempo de espera. 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 omita la validación de documentos durante la operación. Esto permite insertar documentos que no cumplen los requisitos de db.collection.aggregate() validación.

    Nuevo en la versión 3.2.

    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:

    • "local"Este es el nivel de consistencia de lectura por defecto para las operaciones de lectura contra el primario y los secundarios.

    • "available". Disponible para operaciones de lectura en el primario y los secundarios. "available" se comporta de la misma manera que "local" contra el primario y los secundarios no particionados. La query devuelve los datos más recientes de la instancia.

    • "majority". Disponible para Sets de réplicas que utilizan el motor de almacenamiento WiredTiger.

    • "linearizable". Disponible solo para operaciones de lectura en primary.

    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.

    Nuevo en la versión 3.4.

    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.

    Nota

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

    Nuevo en la versión 3.6.

    comment

    string

    Opcional. Los usuarios pueden especificar una cadena arbitraria para facilitar el seguimiento de la operación mediante el generador de perfiles de base de datos, currentOp y los registros.

    Nuevo en la versión 3.6.

    writeConcern

    Documento

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

    Omitir para usar el nivel de confirmación de escritura por defecto con la etapa $out o $merge.

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 siguiente ejemplo ejecuta una canalización con dos etapas. La primera $currentOp ejecuta la operación y la segunda filtra los resultados de dicha operación.

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

Volver

db.adminCommand

En esta página