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

Este é um método mongosh . Esta não é a documentação de Node.js ou de outros métodos de driver específicos da linguagem de programação.

Na maioria dos casos, métodos mongosh funcionam da mesma forma que os métodos legados do shell mongo . No entanto, alguns métodos legados não estão disponíveis em mongosh.

Para a documentação do shell legado mongo, consulte a documentação para a release correspondente do MongoDB Server:

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

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