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

MongoDB\Collection::insertMany()

Nesta página

  • Definição
  • Parâmetros
  • Return Values
  • Erros/exceções
  • Comportamento
  • Exemplo
  • Veja também
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

Ocodec 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ção typeMap.

Novidade na versão 1.17.

comment
misto

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

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\InsertManyResult que encapsula um MongoDB\Driver\WriteResult evento.

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.

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"
}
}

Voltar

getWriteConcern()