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

Bulk.insert() (método mongosh)

Dica

O MongoDB também fornece o método Mongo.bulkWrite() para executar operações de gravação em massa.

Bulk.insert(<document>)

Adiciona uma operação de inserção a uma lista de operações em massa.

Bulk.insert() aceita o seguinte parâmetro:

Parâmetro
Tipo
Descrição

doc

documento

Documento a inserir. O tamanho do documento deve ser menor ou igual ao tamanho máximo do documento BSON.

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.

Mesmo que você encontre um erro de servidor durante uma inserção, alguns documentos podem ter sido inseridos.

Após uma inserção bem-sucedida, o sistema retorna , o número de documentos inseridos na coleção. Se a operação de inserção for interrompida por uma alteração de estado do conjunto de réplicas, o sistema poderá continuar inserindo documentos. Como resultado, pode relatar menos documentos do que os realmente inseridos.

Se uma operação insere uma grande quantidade de dados aleatórios (por exemplo, índices com hash) em um campo indexado, o desempenho da inserção pode diminuir. Inserções em massa de dados aleatórios criam entradas de índice aleatórias, o que aumenta o tamanho do índice. Se o índice atingir o tamanho que requer cada inserção aleatória para acessar uma entrada de índice diferente, as inserções resultarão em uma alta taxa de remoção e substituição do cache WiredTiger. Quando isso acontece, o índice não está mais totalmente no cache e é atualizado no disco, o que diminui o desempenho.

Para melhorar o desempenho de inserções em massa de dados aleatórios em campos indexados, você pode:

  • Soltar o índice e recriá-o depois de inserir os dados aleatórios.

  • Insira os dados em uma coleção não indexada vazia.

A criação do índice após a inserção em massa classifica os dados na memória e executa uma inserção ordenada em todos os índices.

A seguir, inicializamos um construtor de operações Bulk() para a collection items

var bulk = db.items.initializeUnorderedBulkOp();
bulk.insert( { item: "abc123", defaultQty: 100, status: "A", points: 100 } );
bulk.insert( { item: "ijk123", defaultQty: 200, status: "A", points: 200 } );
bulk.insert( { item: "mop123", defaultQty: 0, status: "P", points: 0 } );
bulk.execute();