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
Este é um método
mongosh
. Esta não é a documentação deNode.js
ou de outros métodos de driver específicos da linguagem de programação.Na maioria dos casos, métodos
mongosh
funcionam da mesma forma que os métodos legados do shellmongo
. No entanto, alguns métodos legados não estão disponíveis emmongosh
.Para a documentação do shell legado
mongo
, consulte a documentação para a release correspondente do MongoDB Server:Para drivers da API do MongoDB, consulte a documentação do driver do MongoDB específica do idioma.
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.
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();