MongoDB\Driver\Session::startTransaction
(mongodb >=1.5.0)
MongoDB\Driver\Session::startTransaction — Inicia uma transação
Descrição
Inicia uma transação de vários documentos associada à sessão. A qualquer momento,
pode-se ter no máximo uma transação aberta por sessão. Após iniciar
uma transação, o objeto de sessão deve ser passado para cada operação através
da opção "session"
(por exemplo,
MongoDB\Driver\Manager::executeBulkWrite()) para
associar aquela operação com a transação.
As transações podem ser confirmadas por meio de MongoDB\Driver\Session::commitTransaction() e abortadas com MongoDB\Driver\Session::abortTransaction(). As transações também são abortadas automaticamente quando a sessão é fechada pela coleta de lixo ou chamando explicitamente MongoDB\Driver\Session::endSession().
Parâmetros
options
-
As opções podem ser passadas como argumento para este método. Cada elemento neste array de opções substitui a opção correspondente da opção
"defaultTransactionOptions"
, se definida ao iniciar a sessão com MongoDB\Driver\Manager::startSession().Opções Opção Tipo Descrição maxCommitTimeMS integer A quantidade máxima de tempo em milissegundos para permitir que um único comando
commitTransaction
seja executado.Se especificada,
maxCommitTimeMS
deve ser um inteiro de 32 bits com sinal com valor maior ou igual a zero.readConcern MongoDB\Driver\ReadConcern Um read concern a ser aplicado à operação.
Esta opção está disponível no MongoDB 3.2+ e resultará em uma exceção em tempo de execução se for especificada para uma versão de servidor mais antiga.
readPreference MongoDB\Driver\ReadPreference Uma preferência de leitura a ser usada para selecionar um servidor para a operação.
writeConcern MongoDB\Driver\WriteConcern Um write concern a ser aplicado à operação.
Valor Retornado
Nenhum valor é retornado.
Erros/Exceções
- Lança uma exceção MongoDB\Driver\Exception\InvalidArgumentException em caso de erro ao analisar argumentos.
- Lança uma MongoDB\Driver\Exception\CommandException se a transação não pôde ser iniciada devido a um problema no servidor (por exemplo, um bloqueio não pôde ser obtido).
- Lança uma MongoDB\Driver\Exception\RuntimeException se a transação não puder ser iniciada (por exemplo, uma transação já foi iniciada).
Registro de Alterações
Versão | Descrição |
---|---|
PECL mongodb 1.6.0 |
A opção |
Veja Também
- MongoDB\Driver\Manager::startSession() - Inicia uma nova sessão de cliente para uso com este cliente
- MongoDB\Driver\Session::commitTransaction() - Confirma uma transação
- MongoDB\Driver\Session::abortTransaction() - Aborta uma transação