MongoDB\Driver\BulkWriteCommand::__construct

(mongodb >=2.1.0)

MongoDB\Driver\BulkWriteCommand::__constructCria um novo BulkWriteCommand

Descrição

public MongoDB\Driver\BulkWriteCommand::__construct(?array $options = null)

Cria um novo MongoDB\Driver\BulkWriteCommand, que pode ser usado para executar diversas operações de inserção, atualização e exclusão em várias coleções em uma única solicitação usando o comando » bulkWrite introduzido no MongoDB 8.0. Isso difere de MongoDB\Driver\BulkWrite, que é suportado por todas as versões do servidor, mas limitado a uma única coleção.

Após todas as operações de gravação terem sido adicionadas, este objeto pode ser executado com MongoDB\Driver\Manager::executeBulkWriteCommand().

Parâmetros

options (array)

Opções
Opção Tipo Descrição Padrão
bypassDocumentValidation bool

Se true, permite que operações de inserção e atualização contornem a validação em nível de documento.

false
comment mixed

Um comentário arbitrário para ajudar a rastrear a operação por meio do profiler do banco de dados, da saída currentOp e dos registros.

let array|object

Mapa de nomes e valores de parâmetros. Os valores devem ser expressões constantes ou fechadas que não fazem referência a campos do documento. Os parâmetros podem então ser acessados como variáveis em um contexto de expressão agregada (por exemplo, $$var).

Esta opção está disponível no MongoDB 5.0+ e resultará em uma exceção em tempo de execução se for especificada para uma versão de servidor mais antiga.

ordered bool

Se as operações nesta gravação em massa devem ser executadas na ordem em que foram especificadas. Se false, as gravações continuarão a ser executadas se uma gravação individual falhar. Se true, as gravações deixarão de ser executadas se uma gravação individual falhar.

true
verboseResults bool

Se os resultados detalhados de cada operação bem-sucedida devem ser incluídos no MongoDB\Driver\BulkWriteCommandResult retornado.

false

Erros/Exceções

Exemplos

Exemplo #1 Exemplo de MongoDB\Driver\BulkWriteCommand::__construct()

<?php

$manager
= new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWriteCommand;

// Exclui documentos de ambas as coleções
$bulk->deleteMany('db.coll_one', []);
$bulk->deleteMany('db.coll_two', []);

// Insere documentos em duas coleções
$bulk->insertOne('db.coll_one', ['_id' => 1]);
$bulk->insertOne('db.coll_two', ['_id' => 2]);
$bulk->insertOne('db.coll_two', ['_id' => 3]);

// Atualiza um documento em "coll_one"
$bulk->updateOne('db.coll_one', ['_id' => 1], ['$set' => ['x' => 1]]);

$result = $manager->executeBulkWriteCommand($bulk);

printf("Inserido(s) %d documento(s)\n", $result->getInsertedCount());
printf("Atualizado(s) %d documento(s)\n", $result->getModifiedCount());

?>

O exemplo acima produzirá:

Inserido(s) 3 documento(s)
Atualizado(s) 1 documento(s)

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top