Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

db.collection.initializeOrderedBulkOp()

Nesta página

  • Definição
  • Compatibilidade
  • Comportamento
  • Exemplos

Dica

O MongoDB também fornece o método db.collection.bulkWrite() para executar operações de gravação em massa.

db.collection.initializeOrderedBulkOp()

Importante

Método mongosh

Esta página documenta um método mongosh. Esta não é a documentação de um driver de idioma específico, como Node.js.

Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.

Inicializa e retorna um novo construtor de operações do Bulk() para uma coleção. O construtor constrói uma lista ordenada de operações de gravação que MongoDB executa em massa.

Retorna:novo objeto de construtor de operações Bulk() .

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

Observação

Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.

Com uma lista de operações ordenadas, o MongoDB executa as operações de gravação na lista serialmente.

Ao executar uma lista ordered de operações, o MongoDB agrupa as operações por operation type e contiguidade, ou seja, operações contíguas do mesmo tipo são agrupadas. Por exemplo, se uma lista ordenada tiver duas operações de inserção seguidas por uma operação de atualização seguida por outra operação de inserção, o MongoDB agrupa as operações em três grupos separados: o primeiro contém as duas operações de inserção, o grupo contém a operação de atualização e o terceiro contém a última operação de inserção. Esse comportamento está sujeito a alterações em versões futuras.

Operações Bulk() em mongosh e métodos comparáveis nos drivers não têm um limite para o número de operações em um grupo. Para ver como as operações são agrupadas para execução de operações em massa, chame Bulk.getOperations() após a execução.

Em geral, a execução de uma lista ordered de operações em uma coleção fragmentada em geral será mais lenta do que a execução de uma lista unordered, pois com uma lista ordenada, cada operação deve aguardar a conclusão da operação anterior.

Se ocorrer um erro durante o processamento de uma das operações de gravação, o MongoDB retornará sem processar as operações de gravação restantes na lista.

O seguinte inicializa um construtor de operações Bulk() na users collection, adiciona uma série de operações de gravação e executa as operações:

var bulk = db.users.initializeOrderedBulkOp();
bulk.insert( { user: "abc123", status: "A", points: 0 } );
bulk.insert( { user: "ijk123", status: "A", points: 0 } );
bulk.insert( { user: "mop123", status: "P", points: 0 } );
bulk.find( { status: "D" } ).delete();
bulk.find( { status: "P" } ).update( { $set: { comment: "Pending" } } );
bulk.execute();

Voltar

Operações em massa