Dica
O MongoDB também fornece o método Mongo.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: The fully managed service for MongoDB deployments in the cloud
Observação
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
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();