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.
Menu Docs

db.collection.initializeOrderedBulkOp() (método mongosh)

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.

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 de operaçõesordered, o MongoDB agrupa as operações poroperation typee 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 grupo contém as duas operações de inserção, o segundo grupo contém a operação de atualização e o terceiro grupo contém a última operação de inserção. Esse comportamento está sujeito a alterações em versões futuras.

Bulk()operações emmongoshe 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, chameBulk.getOperations()após a execução.

A execução de uma ordered lista de operações em uma collection fragmentada geralmente será mais lenta do que a execução de uma unordered lista, 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();