Nueva en la versión 1.5.
Definición
MongoDB\Database::aggregate()Ejecuta un(a) admin/diagnostic pipeline que no requiere una colección subyacente. Para las agregaciones de datos de la colección, consulta
MongoDB\Collection::aggregate().function aggregate( array $pipeline, array $options = [] ): Traversable
Parámetros
$pipeline: arreglo- Especifica una operación de pipeline de agregación.
$options: arregloUn arreglo que especifica las opciones deseadas.
NombreTipoDescripciónallowDiskUse
booleano
Permite escribir en archivos temporales. Cuando se establece en
true, las etapas de agregación pueden guardar datos en el subdirectorio_tmpen el directoriodbPath.batchSize
entero
El número máximo de documentos dentro de cada lote devueltos en un resultado de query. Por defecto, el comando
aggregatetiene un tamaño de lote inicial de101documentos y un tamaño máximo de 16 mebibytes (MiB) para cada lote subsiguiente. Esta opción puede aplicar un límite menor que 16 MiB, pero no uno mayor. Si configurasbatchSizeen un límite que da como resultado lotes mayores a 16 MiB, esta opción no tiene ningún efecto.Un batchSize de
0significa 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 deaggregatesin realizar un trabajo significativo en el servidor.bypassDocumentValidation
booleano
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
Intercalación permite a los usuarios especificar reglas específicas del lenguaje para la comparación de cadenas, tales como reglas para mayúsculas y tildes. Al especificar la intercalación, el campo
localees obligatorio; todos los demás campos de intercalación son opcionales. Para obtener descripciones de los campos, consulte 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 perfilador de bases de datos, la salida actualOp() y 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 está soportado para versiones del servidor anteriores a la 5.0 y resultará en una excepción en el momento de la ejecución si se usa.
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 su uso en la operación. Por defecto, se establece la preferencia de lectura de la base de datos.
sesión
Sesión de cliente para asociar con la operación.
typeMap
arreglo
El mapa de tipos que se debe aplicar a los cursores, lo que determina cómo se convierten los documentos BSON en valores PHP. Por defecto, se utiliza 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 usan opciones que no sean compatibles con el servidor seleccionado (p. ej. collation, readConcern, writeConcern).
MongoDB\Exception\InvalidArgumentException por errores relacionados con el análisis de parámetros u opciones.
MongoDB\Driver\Exception\RuntimeException para otros errores a 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
referencia de comando de aggregate en el manual de MongoDB
Pipelines de agregación documentación en el Manual de MongoDB