Menu Docs

db.collection.initializeOrderedBulkOp()

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 para um driver específico de idioma, como Node.js.

For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.

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

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

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.

Veja também:

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();

Veja também: