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: 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.

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

After a successful insert, the system returns , the number of documents inserted into the collection. If the insert operation is interrupted by a replica set state change, the system may continue inserting documents. As a result, may report fewer documents than actually inserted.

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();