Pular para o conteúdo principal

Questão de Banco de Dados — Documentos (MongoDB e CouchDB) — FCC 2026

Banco de DadosDocumentos (MongoDB e CouchDB)
Código
fc142272
Banca
FCC
Órgão
ARTESP
Ano
2026
Cargo
Esp RT ( )
Uma equipe de desenvolvimento está estruturando uma base de dados MongoDB para armazenar informações do cadastro de alunos de um curso de capacitação corporativo. O time definiu que cada documento deve possuir, no mínimo, os campos: nome, curso e matricula. No ambiente de testes, o analista precisa criar três documentos na coleção alunos, com o seguinte conteúdo:   {   nome: "Nome Um",   curso: "Engenharia",   matricula: 1010 } {   nome: "Nome Dois",   curso: "Computação",   matricula: 2020 } {   nome: "Nome Três",   curso: "Arquitetura",   matricula: 3030 }   Considerando as boas práticas de criação de documentos no MongoDB, o conjunto de comandos que insere os dados acima, em um único comando, é:
  1. Adb.alunos.insertOne({      alunos: [        { nome: "Nome Um", curso: "Engenharia", matricula: 1010 },        { nome: "Nome Dois", curso: "Computação", matricula: 2020 },        { nome: "Nome Três", curso: "Arquitetura", matricula: 3030 }      ]    });
  2. Bdb.alunos.updateOne({      nome: "Nome Um",      curso: "Engenharia",      matricula: 1010    });
  3. Cdb.alunos.create({      nome: "Nome Um"    });    db.alunos.create({      nome: "Nome Dois"    }); db.alunos.create({      nome: "Nome Três"    });
  4. Ddb.alunos.insertMany([      { nome: "Nome Um", curso: "Engenharia", matricula: 1010 },      { nome: "Nome Dois", curso: "Computação", matricula: 2020 },      { nome: "Nome Três", curso: "Arquitetura", matricula: 3030 }    ]);
  5. Edb.alunos.save({      nome: "Nome Um",      curso: "Engenharia",      matricula: 1010    });
Revelar gabarito e comentário

GabaritoD — db.alunos.insertMany([      { nome: "Nome Um", curso: "Engenharia", matricula: 1010 },      { nome: "Nome Dois", curso: "Computação", matricula: 2020 },      { nome: "Nome Três", curso: "Arquitetura", matricula: 3030 }    ]);

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

MongoDB: inserção de múltiplos documentos com insertMany

Gabarito: letra D. Para inserir três documentos em uma única operação no MongoDB, o método correto é db.alunos.insertMany([...]), que recebe um array de documentos e os insere de uma só vez na coleção. As demais alternativas usam métodos inexistentes (create), métodos de atualização (updateOne), inserem apenas um documento (insertOne, save) ou aninham os documentos de forma incorreta dentro de um único documento.

O MongoDB é um banco de dados NoSQL orientado a documentos. Isso significa que os dados são armazenados em documentos (estruturas do tipo JSON, codificadas em BSON), que ficam organizados em coleções — o equivalente às tabelas dos bancos relacionais. Cada documento é composto por pares de campo:valor (ou chave:valor), e os documentos de uma mesma coleção não precisam ter exatamente os mesmos campos, pois o esquema é dinâmico.

Para realizar operações de escrita (CRUD), o MongoDB oferece métodos específicos no objeto db.<coleção>. Os principais são:

  • insertOne(documento) — insere um único documento.

  • insertMany([documento1, documento2, ...]) — insere vários documentos de uma vez, recebendo um array.

  • updateOne(filtro, atualização) — atualiza o primeiro documento que corresponde ao filtro.

  • updateMany(filtro, atualização) — atualiza todos os documentos que correspondem ao filtro.

  • deleteOne(filtro) / deleteMany(filtro) — removem documentos.

  • find(filtro) — consulta documentos.

A questão pede que os três documentos sejam inseridos em um único comando. O método que atende exatamente a esse requisito é o insertMany, que recebe um array de documentos e os insere de uma só vez. É a forma mais eficiente e recomendada quando se deseja inserir múltiplos registros em uma única operação, reduzindo o número de idas ao banco.

Vamos analisar cada alternativa para entender por que apenas a letra D está correta.

Métodos de escrita no MongoDB
  • 1Inserção
    • insertOne
      • insere 1 documento
    • insertMany
      • insere vários de uma vez
      • recebe array [...]
  • 2Atualização
    • updateOne
    • updateMany
  • 3Remoção
    • deleteOne
    • deleteMany
  • 4Consulta
    • find
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A alternativa usa db.alunos.insertOne({ alunos: [...] }). O método insertOne insere um único documento. Aqui, o que está sendo inserido é um documento que contém um campo chamado alunos, cujo valor é um array com os três objetos. Ou seja, em vez de criar três documentos na coleção alunos, essa operação criaria um único documento com a estrutura { alunos: [ {nome...}, {nome...}, {nome...} ] }. Isso não atende ao requisito de inserir três documentos separados.

Alternativa B — ❌ Incorreta

A alternativa usa db.alunos.updateOne({ nome: "Nome Um", curso: "Engenharia", matricula: 1010 }). O método updateOne é usado para atualizar um documento existente que corresponda ao filtro. Além disso, a sintaxe está incompleta: o updateOne exige dois argumentos — o filtro e a operação de atualização (por exemplo, { $set: { ... } }). Aqui, foi passado apenas o filtro, sem a atualização, o que geraria um erro. E, mesmo que estivesse correto, não é um comando de inserção.

Alternativa C — ❌ Incorreta

A alternativa usa db.alunos.create({ nome: "Nome Um" }). O método create não existe no MongoDB para inserção de documentos. O método correto para criar/inserir é insertOne ou insertMany. Além disso, a alternativa tenta inserir apenas o campo nome, omitindo curso e matricula, e usa três comandos separados, o que contraria o requisito de "um único comando".

Alternativa D — ✅ Correta ⟵ GABARITO

A alternativa usa db.alunos.insertMany([ { nome: "Nome Um", curso: "Engenharia", matricula: 1010 }, { nome: "Nome Dois", curso: "Computação", matricula: 2020 }, { nome: "Nome Três", curso: "Arquitetura", matricula: 3030 } ]). O método insertMany recebe um array de documentos e insere todos eles na coleção alunos em uma única operação. É exatamente o que o enunciado pede: inserir os três documentos em um único comando. A sintaxe está correta e os campos nome, curso e matricula estão presentes em cada documento.

Alternativa E — ❌ Incorreta

A alternativa usa db.alunos.save({ nome: "Nome Um", curso: "Engenharia", matricula: 1010 }). O método save é um método obsoleto no MongoDB. Ele foi substituído por insertOne e updateOne (com upsert). Além disso, save insere um único documento (ou atualiza se o _id já existir), não sendo capaz de inserir três documentos de uma vez. Portanto, não atende ao requisito de inserir os três documentos em um único comando.

NÃO CAIA NESSA!

A banca explora a confusão entre os métodos de inserção do MongoDB. O candidato pode ser tentado a escolher a alternativa A, que usa insertOne com um array, mas isso criaria um único documento com um campo array, não três documentos. O insertMany é o único que insere múltiplos documentos de uma vez, recebendo um array como argumento. Lembre-se: insertOne = um documento; insertMany = vários documentos.

PEGA ESSA DICA!

Para questões de MongoDB, memorize os métodos de CRUD e suas funções: insertOne (insere 1), insertMany (insere vários), updateOne/updateMany (atualiza), deleteOne/deleteMany (remove), find (consulta). O insertMany sempre recebe um array [...] como argumento. Se a questão pedir "inserir vários documentos em um único comando", a resposta é insertMany.

Gabarito: letra D

Link permanente: /questoes/fc142272