Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

MongoDB\Database::aggregate()

Nueva en la versión 1.5.

MongoDB\Database::aggregate()

Ejecuta un especificado Canalización de administración/diagnóstico que no requiere una colección subyacente. Para agregaciones en datos de colección, consulte MongoDB\Collection::aggregate().

function aggregate(
array $pipeline,
array $options = []
): Traversable
$pipeline : arreglo
Especifica una operación de pipeline de agregación.
$options : arreglo

Una matriz que especifica las opciones deseadas.

Nombre
Tipo
Descripción

allowDiskUse

booleano

Permite escribir en archivos temporales. Cuando se establece en true, las etapas de agregación pueden guardar datos en el subdirectorio _tmp en el directorio dbPath.

batchSize

entero

El número máximo de documentos dentro de cada lote devuelto en el resultado de una consulta. De forma predeterminada, el comando aggregate tiene un tamaño de lote inicial de 101 documentos y un tamaño máximo de 16 mebibytes (MiB) para cada lote posterior. Esta opción puede imponer un límite inferior a 16 MiB, pero no superior. Si se establece batchSize en un límite que genere lotes superiores a 16 MiB, esta opción no tiene efecto.

Un batchSize de 0 significa que se establecerá el cursor, pero no se devolverán documentos en el primer lote. Esto puede ser útil para devolver rápidamente un cursor o falla de aggregate sin realizar un trabajo significativo en el servidor.

bypassDocumentValidation

booleano

Si es true, permite que la operación de escritura evite la validación a nivel de documento. El valor predeterminado es false.

Esto solo se aplica cuando se utilizan las etapas $out y $out.

códec

MongoDB\Codec\DocumentCodec

Codifica datos con códecs de tipos para codificar o decodificar documentos. Esta opción es mutuamente excluyente con la opción typeMap.

Novedad en la versión 1.17.

intercalación

arreglo|objeto

comment

mixto

Permite a los usuarios especificar un comentario arbitrario para ayudar a rastrear la operación a través del generador de perfiles de base de datos, la salidacurrentOp y los registros.

El comentario puede ser de cualquier tipo válido de BSON para las versiones de servidor 4.4 en adelante. Las versiones anteriores del servidor solo soportan valores string.

explicar

booleano

Especifica si se debe devolver o no la información sobre el procesamiento del pipeline.

hint

cadena|arreglo|objeto

El índice a utilizar. Especifique el nombre del índice como una string o el patrón clave del índice como un documento. Si se especifica, el sistema de query solo considerará los planes que utilicen el índice sugerido.

permitir

arreglo|objeto

Mapa de nombres de parámetros y valores. Los valores deben ser expresiones constantes o cerradas que no hagan referencia a los campos del documento. Posteriormente, se puede acceder a los parámetros como variables en el contexto de una expresión de agregación (por ejemplo, $$var).

Esto no es compatible con versiones de servidor anteriores a 5.0 y, si se utiliza, generará una excepción en el momento de ejecución.

Nuevo en la versión 1.9.

maxTimeMS

entero

El límite de tiempo acumulado en milisegundos para las operaciones de procesamiento en el cursor. MongoDB aborta la operación en el siguiente punto de interrupción..

readConcern

nivel de consistencia de lectura a utilizar en la operación. Por defecto, usa el nivel de consistencia de lectura de la base de datos.

readPreference

Preferencia de lectura para la operación. El valor predeterminado es la preferencia de lectura de la base de datos.

sesión

Sesión de cliente para asociar a la operación.

typeMap

arreglo

El mapa de tipos que se aplica a los cursores y que determina cómo se convierten los documentos BSON a valores PHP. El valor predeterminado es el mapa de tipos de la base de datos.

writeConcern

nivel de confirmación de escritura (write concern) a utilizar para la operación. Se utiliza por defecto el nivel de confirmación de escritura (write concern) de la base de datos.

Un objeto MongoDB\Driver\Cursor o ArrayIterator. En ambos casos, el valor de retorno será Traversable.

MongoDB\Exception\UnexpectedValueException si la respuesta del comando del servidor era incorrecta.

MongoDB\Exception\UnsupportedException si se utilizan opciones que no son compatibles con el servidor seleccionado (porcollation readConcernwriteConcernejemplo,,,).

MongoDB\Exception\InvalidArgumentException por errores relacionados con el análisis de parámetros u opciones.

MongoDB\Driver\Exception\RuntimeException para otros errores en el nivel de extensión (por ejemplo, errores de conexión).

El siguiente ejemplo de agregación muestra todos los comandos en ejecución usando la etapa de pipeline de agregación $currentOp, y luego filtra esta lista para mostrar solo las operaciones de comandos en ejecución.

<?php
$database = (new MongoDB\Client)->admin;
$cursor = $database->aggregate(
[
['$currentOp' => []],
['$match' => ['op' => 'command']],
]
);

Volver

__get()

En esta página