Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.

MongoDB\Collection::insertMany()

MongoDB\Collection::insertMany()

Insere vários documentos.

function insertMany( array $documents, array $options = []): MongoDB\InsertManyResult
$documents : array
O documento a inserir na collection.
$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

Os dados de codificação com codecs de tipo a serem usados 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ção typeMap.

Novidades 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.

Novidades 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.

Novidades na versão 1.3.

writeConcern

Write concern a ser usada na operação. O padrão é a write concern da coleção.

Não é possível especificar uma write concern 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\InsertManyResult que encapsula um objeto MongoDB \Driver\WriteResult .

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 uma MongoDB\Driver\Exception\BulkWriteException for lançada, os usuários deverão chamar getWriteResult() e inspecionar o objeto MongoDB\Driver\WriteResult retornado 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 write concern (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.

A seguinte operação insere dois documentos na coleção do users no banco de dados do test:

<?php $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" }}