insertMany() (Inserção em Lote)

Última atualização: 2026-10-09

insertMany() (Inserção em Lote)

insertMany() insere vários documentos em uma única chamada, ex.: `db.users.insertMany([{ name: 'A' }, { name: 'B' }])`. Com ordered: true (padrão), as inserções ocorrem em ordem e param no primeiro erro; com false, os documentos restantes ainda são tentados. O resultado contém acknowledged e insertedIds, mapeando o índice de cada documento para seu _id. Ele economiza muitas idas e voltas em comparação a um loop de insertOne(), sendo a escolha ideal para popular dados e migrações.

CategoriaEscrita
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

db.<collection>.insertMany(<documents>, { ordered: <bool>, writeConcern: <options> })

⚙️ Parâmetros

documentosMatriz de documentos BSON a inserir.
orderedOpcional. true para no primeiro erro, false o ignora e continua; o padrão é true.
writeConcernOpcional. Write concern.

Retorno:Objeto de resultado com acknowledged e insertedIds (mapeamento índice para _id).

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// insertMany: insere três usuários de uma vez
db.users.insertMany([
  { name: 'Alice', age: 21 },
  { name: 'Bob', age: 25 },
  { name: 'Cara', age: 30 }
])

Saída:

{
  acknowledged: true,
  insertedIds: {
    '0': ObjectId('64c8a1b20000000000000001'),
    '1': ObjectId('64c8a1b20000000000000002'),
    '2': ObjectId('64c8a1b20000000000000003')
  }
}

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre insertMany e insertOne?
AinsertMany() grava muitos documentos em uma única ida e volta; insertOne() grava um. Para cargas em lote, insertMany() supera de longe o loop de insertOne().
QO que a opção ordered de insertMany faz?
ACom ordered: true, as inserções param no primeiro erro e o lote é revertido; com false, os documentos com falha são ignorados e o restante ainda é inserido.
QO que insertMany retorna quando apenas alguns documentos falham?
AEle retorna acknowledged mais insertedIds cobrindo apenas os índices inseridos com sucesso; os detalhes das falhas ficam no BulkWriteError lançado.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%