← Questões de Programação

Programação · FGV · 2025

Questão comentada de Programação

Observe o resultado da execução dos seguintes comandos do MongoDB Shell. Para listar apenas os processos que possuem dois réus, deve-se executar o comando:

Gabarito: D

No MongoDB, quando voce quer filtrar documentos por quantidade de elementos em um array, o caminho mais comum e usar o operador $size. Ele serve exatamente para dizer: "quero documentos em que este campo de lista tenha N itens". Aqui, o campo relevante e "partes.reu", que representa os réus dentro do processo. Na questao, a ideia e listar apenas os processos que possuem dois réus. Para isso, o comando precisa buscar documentos em que o array "partes.reu" tenha tamanho 2. O filtro correto fica dentro de find(), usando a notacao de caminho do campo e o operador $size. Por isso, a alternativa D esta correta: db["Processos"].find({"partes.reu":{$size:2}});. Ela consulta a colecao Processos e retorna somente os documentos em que o array indicado possui exatamente dois elementos. E uma aplicacao direta do operador $size, bem no estilo "sem misterio, sem drama". Vale lembrar que operadores como countDocuments() contam documentos que batem com um criterio, mas nao resolvem sozinhos a checagem de tamanho do array do jeito pedido. Em provas, a banca costuma explorar justamente essa diferenca entre contar documentos e filtrar pelo tamanho de um array.

Continue treinando

Questões relacionadas