Questão FC369683
Observe a consulta SQL a seguir. ALTER TABLE Processos ADD data_criacao DATETIME; A consulta apresentada que corresponde à consulta MongoDB:
Outros Tipos e Modelos de Bancos de Dados
FGV · 2025
Observe a consulta SQL a seguir.
ALTER TABLE Processos
ADD data_criacao DATETIME;
A consulta apresentada que corresponde à consulta MongoDB:
- db.Processos.updateMany({ },
{$set:{data_criacao:new Date()}})
- db.Processos.add({all()},
{$set:{data_criacao:new Date()}})
- db.Processos.insertOne({find()},
{$set:{data_criacao:new Date()}})
- db.Processos.createField({ },
{$set:{data_criacao:new Date()}})
- db.Processos.addField({find()},
{$unset:{data_criacao:new Date()}})
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
A instrução SQL adiciona uma coluna a todos os registros; em MongoDB isso é feito atualizando documentos para incluir um novo campo. A consulta correta usa db.Processos.updateMany para alterar vários documentos de uma só vez.
Na expressão db.Processos.updateMany({ }, {$set:{data_criacao:new Date()}}) o filtro { } corresponde a todos os documentos da coleção. O operador $set adiciona o campo data_criacao quando ele não existe ou o sobrescreve se já existir.
new Date() cria um valor de data/hora em JavaScript, que é armazenado como BSON Date em MongoDB — equivalente a um tipo DATETIME em SQL.
Como o MongoDB é schemaless, não há DDL; a operação atualiza dados existentes. Se quiser apenas adicionar o campo quando ausente, use um filtro como {data_criacao: {$exists: false}} para evitar sobrescrever valores já definidos.
Conteúdo do catálogo FC Concursos · Atualizado em