MongoDB\Client::bulkWrite()
Novidades na versão 2.1.
Definição
Parâmetros
$bulk
:MongoDB\ClientBulkWrite
ouDica
Preferir API ClientBulkWrite
Recomendamos
ClientBulkWrite
usar aBulkWriteCommand
classe e os métodos do construtor para especificar operações de escrita em um comando de escrita em massa em vez de usar a classe.ClientBulkWrite
O fornece uma API fluente com métodos semelhantes aos métodos CRUD da classeMongoDB\Collection
.Representa o comando ou construtor de gravação em massa montado.
MongoDB\Client::bulkWrite()
suportadeleteMany()
deleteOne()
insertOne()
replaceOne()
updateMany()
operações,,,,updateOne()
e.$options
: arrayUma array especificando as opções desejadas.
NomeTipoDescriçãosession
Sessão do cliente a ser associada à operação.
writeConcern
Preocupação de gravação a ser usada na operação. O padrão é a preocupação de gravação da coleção.
Não é possível especificar uma preocupação de gravação para operações individuais como parte de uma transação. Em vez disso, defina a opção
writeConcern
ao iniciar a transação.
Return Values
Um objeto MongoDB\BulkWriteCommandResult
.
Erros/exceções
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).
MongoDB\Driver\Exception\BulkWriteCommandException para erros relacionados à operação de gravação. Você pode inspecionar o valor retornado por getWriteErrors() para determinar a natureza do erro.
Comportamento
Se uma MongoDB\Driver\Exception\BulkWriteCommandException for lançada, você poderá chamar getWriteErrors() e inspecionar as informações na array retornada para determinar a natureza do erro.
Por exemplo, uma operação de gravação pode ter sido aplicada com êxito ao servidor primário , mas não atendeu ao preocupação de gravação. Como alternativa, uma operação de gravação pode ter falhado completamente, por exemplo , por violar a restrição de chave exclusiva.
No caso de uma escrita em massa, o resultado pode indicar múltiplas operações de escrita bem-sucedidas e/ou erros. Se a opção ordered
for true
, algumas operações podem ter sido bem-sucedidas antes de o primeiro erro ser encontrado e a exceção lançada. Se a opção ordered
for false
, vários erros podem ter sido encontrados.