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:
- A)'Processos'.filter(toArray({reu=2}));
Errada, porque filter() nao e um comando valido nesse formato no MongoDB Shell e nao faz a filtragem por tamanho de array.
- B)db.collection.count({"partes.reu",2});
Errada, porque count() nao usa essa sintaxe e, alem disso, nao expressa a condicao de ter exatamente dois elementos no array.
- C)MPU2025.Processos.dataSize("partes.reu"$2);
Errada, porque o comando esta fora da sintaxe do MongoDB e nao corresponde a nenhum operador valido para essa consulta.
- D)db["Processos"].find({"partes.reu":{$size:2}});
Certa, porque usa find() com o operador $size para retornar os documentos cujo campo "partes.reu" tem exatamente 2 elementos.
- E)db.Processos.countDocuments({"partes.reu":"2"});
Errada, porque countDocuments() apenas conta documentos e ainda compara o valor como string "2", nao como tamanho do array.
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.