Dica
O MongoDB também fornece o método db.collection.bulkWrite() para executar operações de gravação em massa.
Definição
db.collection.initializeUnorderedBulkOp()Importante
Método mongosh
This page documents a
mongoshmethod. This is not the documentation for a language-specific driver, such as 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 não ordenada de operações de gravação que o MongoDB executa em lote.
Compatibilidade
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.
Comportamento
Ordem de operação
Com uma lista de operações não ordenada, o MongoDB pode executar em paralelo as operações de gravação na lista e em qualquer ordem. Se a ordem das operações for importante, use db.collection.initializeOrderedBulkOp() .
Execução de operações
When executing an unordered list of operations, MongoDB groups the operations. With an unordered bulk operation, the operations in the list may be reordered to increase performance. As such, applications should not depend on the ordering when performing unordered bulk operations.
Bulk() operations in mongosh and comparable methods in the drivers do not have a limit for the number of operations in a group. To see how the operations are grouped for bulk operation execution, call Bulk.getOperations() after the execution.
Error Handling
Se ocorrer um erro durante o processamento de uma das operações de gravação, o MongoDB continuará processando as operações de gravação restantes na lista.
Exemplo
O seguinte comando inicializa um construtor de operações Bulk() e inclui uma série de operações de inserção para adicionar vários documentos:
var bulk = db.users.initializeUnorderedBulkOp(); 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.execute();