db.collection.initializeUnorderedBulkOp()
Nesta página
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
Esta página documenta um método
mongosh
. Esta não é a documentação de um driver de idioma específico, 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 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
Ao executar uma lista de operações unordered
, o MongoDB agrupa as operações. Com uma operação em lote não ordenada, as operações na lista podem ser reordenadas para aumentar o desempenho. Dessa forma, os aplicativos não devem depender da ordenação ao realizar operações unordered
em lote.
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.
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();