insert (Inserir Documentos)
Última atualização: 2026-10-09
insert (Inserir Documentos)
insert é o comando de inserção de baixo nível, normalmente embrulhado por db.collection.insertOne()/insertMany() no mongosh. A forma crua é db.runCommand({ insert: 'orders', documents: [...] }). Ele insere vários documentos de uma vez e gera ObjectIds automaticamente quando _id está ausente. Diferente do modo ordered de insertMany, se qualquer documento do comando insert falhar, nenhum é inserido.
| Categoria | Comandos de Administração |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.orders.insertOne({ item: "apple", qty: 10 })
db.runCommand({
insert: "orders",
documents: [ { item: "apple", qty: 10 }, { item: "pear", qty: 5 } ]
})
⚙️ Parâmetros
| documents | Matriz de documentos a inserir. |
|---|---|
| ordered | true para no primeiro erro (padrão); false ignora e continua. |
Retorno:Retorna n (contagem de inseridos), ok e os _ids inseridos
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// insert: inserção em lote via comando
use shop
db.runCommand({
insert: 'orders',
documents: [
{ item: 'apple', qty: 10 },
{ item: 'pear', qty: 5 }
]
})
Saída:
{ n: 2, ok: 1 }
📌 Notas
- Campos _id ausentes recebem ObjectIds gerados automaticamente, ecoados de volta
- Documentos únicos têm limite de 16MB; use GridFS para arquivos maiores
- Se qualquer documento falhar, o comando inteiro não insere nada
🏷️ Tags Relacionados
💡 Casos Relacionados
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QO que difere entre insert e insertMany?
AinsertMany permite sucesso parcial com ordered: false; o comando insert não insere nada se qualquer documento falhar.
QComo obtenho os _ids inseridos?
AO comando insert ecoa documentos com _id; os helpers retornam insertedIds.
QQuão grande um único documento pode ser?
A16MB — o limite de tamanho do documento BSON.