Menu Docs
Página inicial do Docs
/ / /
Manual da Biblioteca PHP
/ /

MongoDB\Collection::bulkWrite()

Nesta página

  • Definição
  • Parâmetros
  • Return Values
  • Erros/exceções
  • Comportamento
  • Veja também
MongoDB\Collection::bulkWrite()

Executa múltiplas operações de gravação.

function bulkWrite(
array $operations,
array $options = []
): MongoDB\BulkWriteResult
$operations : array

Uma array contendo as operações de gravação a serem executadas. MongoDB\Collection::bulkWrite() suporta MongoDB\Collection::deleteMany(), MongoDB\Collection::deleteOne(), MongoDB\Collection::insertOne(), MongoDB\Collection::replaceOne(), MongoDB\Collection::updateMany() e MongoDB\Collection::updateOne() operações na seguinte estrutura de array:

[
[ 'deleteMany' => [ $filter ] ],
[ 'deleteOne' => [ $filter ] ],
[ 'insertOne' => [ $document ] ],
[ 'replaceOne' => [ $filter, $replacement, $options ] ],
[ 'updateMany' => [ $filter, $update, $options ] ],
[ 'updateOne' => [ $filter, $update, $options ] ],
]

Os argumentos correspondem aos respectivos métodos de operação. No entanto, a opção writeConcern é especificada como uma opção de nível superior para MongoDB\Collection::bulkWrite() em vez de cada operação individual.

$options : array

Uma array especificando as opções desejadas.

Nome
Tipo
Descrição
bypassDocumentValidation
booleano
Se true, permite que a operação de gravação contorne a validação do nível do documento. O padrão é false.
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.

O padrão é o codec da coleção. A herança de uma opção codec padrão tem precedência sobre a da opção typeMap.

As gravações em massa usam o codec para operações insertOne e replaceOne .

Novidade na versão 1.17.

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.

Esta opção está disponível desde o MongoDB 4.4 e resultará em uma exceção no momento da execução se for especificada para uma versão mais antiga do servidor.

Novidade na versão 1.13.

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.

Novidade na versão 1.13.

encomendado
booleano

If true: quando uma única gravação falha, a operação será interrompida sem executar as gravações restantes e lançará uma exceção.

Se false: quando uma única gravação falha, a operação continuará com as gravações restantes, se houver, e lançará uma exceção.

O padrão é true.

session

Sessão do cliente a ser associada à operação.

Novidade na versão 1.3.

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.

Um objeto ,MongoDB\BulkWriteResult que encapsula um MongoDB\Driver\WriteResult evento.

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\BulkWriteException para erros relacionados à operação de gravação. Os usuários devem inspecionar o valor retornado por getWriteResult() para determinar a natureza do erro.

MongoDB\Driver\Exception\RuntimeException para outros erros no nível da extensão (por exemplo erros de conexão).

Se for MongoDB\Driver\Exception\BulkWriteException é lançado, os usuários devem ligar para getWriteResult() e inspecione o MongoDB\Driver\WriteResult retornado objeto 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 conseguiu atender a preocupação de gravação (p. ex., a replicação demorou muito tempo). Como alternativa, uma operação de gravação pode ter falhado completamente (p. ex., violação de chave única).

No caso de uma gravação em massa, o resultado pode indicar várias operações de gravação 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 ser lançada. Se a opção ordered for false, vários erros podem ter sido encontrados.

Voltar

Aggregate()