MongoDB\Database::aggregate()
Novidade na versão 1.5.
Definição
MongoDB\Database::aggregate()
Executa umpipeline de administração/diagnóstico especificado que não requer uma collection subjacente. Para agregações de dados de collection, consulte
MongoDB\Collection::aggregate()
.function aggregate( array $pipeline, array $options = [] ): Traversable
Parâmetros
$pipeline
: array- Especifica uma operação de pipeline de agregação.
$options
: arrayUma array especificando as opções desejadas.
NomeTipoDescriçãoallowDiskUse
booleano
Permite escrever em arquivos temporários. Ao definir como
true
, os estágios de aggregation podem escrever dados no subdiretório_tmp
do diretóriodbPath
.batchSize
inteiro
Especifica o tamanho do lote para o cursor, que se aplicará ao comando
aggregate
inicial e quaisquer comandosgetMore
subsequentes. Isso determina o número máximo de documentos para retornar em cada resposta do servidor.Um batchSize de
0
é especial para isso e só se aplica ao comandoaggregate
inicial; os comandosgetMore
subsequentes usam o tamanho de lote padrão do servidor. Isso pode ser útil para retornar rapidamente um cursor ou uma falha doaggregate
sem fazer um trabalho significativo do lado do servidor.bypassDocumentValidation
booleano
Codec
MongoDB\Codec\DocumentCodec
O codec a ser usado para codificação ou decodificação de documentos. Esta opção é mutuamente exclusiva com a opção
typeMap
.Novidade na versão 1.17.
agrupamento
array|object
A colocação permite que os usuários especifiquem regras específicas do idioma para comparação de string , como regras para letras maiúsculas e marcas de acento. Ao especificar agrupamento, o campo
locale
é obrigatório; todos os outros campos de agrupamento são opcionais. Para obter descrições dos campos, consulte Documento de agrupamento.comment
misto
Permite ao usuário especificar um comentário arbitrário para ajudar a rastrear a operação por meio do profiler de banco de dados, da saída currentOp e dos registros.
O comentário pode ser qualquer tipo de BSON válido para as versões 4.4 e superiores do servidor. As versões anteriores do servidor suportam apenas valores de string.
explicar
booleano
Especifica se deseja ou não retornar as informações sobre o processamento do pipeline.
dica
string|array|objeto
O índice a ser utilizado. Especifique o nome do índice como uma string ou o padrão da chave do índice como um documento. Se especificado, o sistema de query considerará apenas os planos usando o índice sugerido.
let
array|object
Mapa de nomes e valores de parâmetros. Os valores devem ser expressões constantes ou fechadas que não façam referência aos campos do documento. Os parâmetros podem ser acessados como variáveis em um contexto de expressão agregada (como
$$var
).Isto não é suportado para versões de servidor anteriores à 5.0 e resultará em uma exceção no tempo de execução se utilizado.
Novidades na versão 1.9.
maxTimeMS
inteiro
O limite de tempo cumulativo em milésimos de segundo para operações de processamento no cursor. O MongoDB aborta a operação o mais cedo possível após o ponto de interrupção.
readConcern
Preocupação de leitura a ser usada para a operação. O padrão é a preocupação de leitura do banco de dados.
readPreference
Preferência de leitura a ser usada na operação. O padrão é a preferência de leitura do banco de dados.
session
Sessão do cliente a ser associada à operação.
typeMap
array
O mapa de tipos aplicar aos cursores, o que determina como os documentos BSON são convertidos em valores PHP. O padrão é o mapa de tipos do banco de dados.
writeConcern
Write concern a ser usada para a operação. O padrão é a preocupação de gravação do banco de dados.
Return Values
Um MongoDB\Driver\Cursor ou ArrayIterator evento. Em ambos os casos, o valor de retorno será Traversable.
Erros/exceções
MongoDB\Exception\UnexpectedValueException
se a resposta do comando do servidor estiver malformada.
MongoDB\Exception\UnsupportedException
se as opções forem usadas e não aceitas pelo servidor selecionado (p. ex., collation
, readConcern
, writeConcern
).
MongoDB\Exception\InvalidArgumentException
para erros relacionados à análise de parâmetros ou opções.
MongoDB\Driver\Exception\RuntimeException para outros erros no nível da extensão (por exemplo erros de conexão).
Exemplos
O exemplo de agregação a seguir lista todos os comandos em execução usando o estágio do pipeline de agregação $currentOp
e, em seguida, filtra essa lista para mostrar apenas as operações de comando em execução.
$database = (new MongoDB\Client)->admin; $cursor = $database->aggregate( [ ['$currentOp' => []], ['$match' => ['op' => 'command']], ] );
Veja também
referência do comando aggregate no manual do MongoDB
Documentação do aggregation pipeline no Manual do MongoDB