MongoDB\Collection::insertMany()
Definição
Parâmetros
$documents
: array- O documento a inserir na collection.
$options
: arrayUma array especificando as opções desejadas.
NomeTipoDescriçãobypassDocumentValidationbooleanoSetrue
, permite que a operação de gravação contorne a validação do nível do documento. O padrão éfalse
.CodecMongoDB\Codec\DocumentCodecOcodec a ser usado para codificar ou decodificar 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çãotypeMap
.Novidade na versão 1.17.
commentmistoPermite que os usuários especifiquem um comentário arbitrário para ajudar a rastrear a operação por meio do profiler do banco de dados, saída currentOp e 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.
encomendadobooleanoIf
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
.sessionSessão do cliente a ser associada à operação.
Novidade na versão 1.3.
writeConcernPreocupaçã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\InsertManyResult
que encapsula um MongoDB\Driver\WriteResult evento.
Erros/exceções
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).
Comportamento
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.
Exemplo
A seguinte operação insere dois documentos na coleção do users
no banco de dados do test
:
$collection = (new MongoDB\Client)->test->users; $insertManyResult = $collection->insertMany([ [ 'username' => 'admin', 'email' => 'admin@example.com', 'name' => 'Admin User', ], [ 'username' => 'test', 'email' => 'test@example.com', 'name' => 'Test User', ], ]); printf("Inserted %d document(s)\n", $insertManyResult->getInsertedCount()); var_dump($insertManyResult->getInsertedIds());
A saída seria então semelhante a:
Inserted 2 document(s) array(2) { [0]=> object(MongoDB\BSON\ObjectId)#11 (1) { ["oid"]=> string(24) "579a25921f417dd1e5518141" } [1]=> object(MongoDB\BSON\ObjectId)#12 (1) { ["oid"]=> string(24) "579a25921f417dd1e5518142" } }
Veja também
inserir referência de comando no manual MongoDB