Nuevo en la versión 1.5.
Definición
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 $pipeline, array $options = [] ): Traversable
Parámetros
$pipeline: matriz|Pipeline- Especifica una operación de canalización de agregación. Puede incluir etapas de agregación en una
MongoDB\Builder\Pipelineinstancia o en una matriz. $options: matrizUna matriz que especifica las opciones deseadas.
NombreTipoDescripciónallowDiskUse
booleano
Permite escribir en archivos temporales. Cuando se establece en
true, las etapas de agregación pueden escribir datos en el subdirectorio_tmpdel directoriodbPath.tamaño del lote
entero
El número máximo de documentos dentro de cada lote devuelto en el resultado de una consulta. De forma predeterminada, el comando
aggregatetiene un tamaño de lote inicial de101documentos 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 establecebatchSizeen un límite que genere lotes superiores a 16 MiB, esta opción no tiene efecto.Un tamaño de lote de
0significa que el cursor se establecerá, pero no se devolverá ningún documento en el primer lote. Esto puede ser útil para devolver rápidamente un cursor o un error deaggregatesin 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 esfalse.Esto solo se aplica cuando se utilizan las etapas $out y $out.
codec
MongoDB\Códec\DocumentCodec
Codificar datos con códecs de tipo para codificar o decodificar documentos. Esta opción es mutuamente excluyente con la
typeMapopción.Nuevo en la versión 1.17.
intercalación
matriz|objeto
Laintercalación permite a los usuarios especificar reglas específicas del idioma para la comparación de cadenas, como el uso de mayúsculas y minúsculas y tildes. Al especificar la intercalación, el
localecampo es obligatorio; todos los demás campos son opcionales. Para obtener descripciones de los campos, consulte el documento de intercalación.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 cualquier tipo BSON válido para las versiones de servidor 4.4 y superiores. Las versiones anteriores solo admiten valores de cadena.
explicar
booleano
Especifica si se debe devolver o no la información sobre el procesamiento de la canalización.
hint
cadena|matriz|objeto
El índice a utilizar. Especifique el nombre del índice como una cadena o el patrón de clave del índice como un documento. Si se especifica, el sistema de consultas solo considerará los planes que utilicen el índice sugerido.
permitir
matriz|objeto
Mapa de nombres y valores de parámetros. Los valores deben ser constantes o expresiones cerradas que no hagan referencia a campos del documento. Se puede acceder a los parámetros como variables en un contexto de expresión agregada (p. ej.,
$$var).Esto no es compatible con versiones de servidor anteriores a 5.0 y generará una excepción en el momento de ejecución si se utiliza.
Nuevo en la versión 1.9.
maxTimeMS
entero
El límite de tiempo acumulado en milisegundos para procesar operaciones en el cursor. MongoDB cancela la operación en el punto de interrupción posterior más cercano.
readConcern
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.
Return Values
Un objeto MongoDB\Driver\Cursor o ArrayIterator. En ambos casos, el valor de retorno será Traversable.
Errores/Excepciones
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 para 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).
Ejemplos
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.
$database = (new MongoDB\Client)->admin; $cursor = $database->aggregate( [ ['$currentOp' => []], ['$match' => ['op' => 'command']], ] );
Ver también
Documentación de lacanalización de agregación en el Manual de MongoDB