Sobre o MongoDB v5.0, considere as afirmativas a seguir. I. Todos os documentos de uma coleção (collection) devem possuir o mesmo número de campos (fields). II. Um campo presente em diferentes documentos de uma collection pode ter diferentes tipos de dados ao longo dos documentos. III. MongoDB oferece a capacidade de validar esquemas durante operações de inserção (insertion) e atualização (update). Está correto o que se afirma em:
- A)somente I;
Esta alternativa sustenta que todos os documentos de uma coleção MongoDB precisam ter o mesmo número de campos. Isso contraria o modelo flexível do MongoDB, que não exige um esquema fixo e permite documentos com estruturas diferentes na mesma coleção. Por isso, a afirmativa I é falsa e a opção não se sustenta.
- B)somente III;
Aqui se afirma que apenas a validação de esquema na inserção e na atualização está correta. O MongoDB realmente oferece validação de documentos por regras definidas pelo usuário, inclusive em operações de insert e update, normalmente por meio do validator com JSON Schema. O problema é que a afirmativa II também está correta, pois um mesmo campo pode aparecer com tipos diferentes em documentos distintos, então não é só III.
- C)somente I e II;
Esta alternativa diz que estão corretas apenas as afirmativas I e II. A I está errada porque o MongoDB não impõe que todos os documentos tenham o mesmo número de campos, justamente por adotar um modelo orientado a documentos com esquema flexível. Como a combinação proposta inclui uma afirmativa falsa, o item não pode ser aceito.
- D)somente II e III;
A opção reúne as afirmativas II e III, que correspondem ao funcionamento do MongoDB. O banco admite que um mesmo campo tenha tipos diferentes em documentos distintos, já que o esquema não é rigidamente imposto como em bancos relacionais, e também permite validação de esquema em inserções e atualizações por meio de regras de validação. Como a I é a única incorreta, esta é a alternativa correta.
- E)I, II e III.
Esta alternativa afirma que as três proposições estão corretas, mas a I não procede. No MongoDB, coleções não exigem documentos com o mesmo número de campos nem estrutura idêntica, porque o modelo é flexível e orientado a documentos. Como a presença da I invalida o conjunto, não é possível considerar correta a assertiva integral.
Gabarito: D
O MongoDB é um banco NoSQL orientado a documentos, e isso muda bastante a lógica que você conhece dos bancos relacionais. Em vez de exigir tabelas rigidamente padronizadas, ele trabalha com coleções de documentos BSON, o que dá flexibilidade para cada documento ter campos diferentes. Ou seja: não existe regra de que todos os documentos da mesma collection tenham o mesmo número de fields. Isso derruba a afirmativa I. Outra característica importante é que um mesmo campo pode aparecer em documentos diferentes com tipos de dados distintos, porque o MongoDB não impõe, por padrão, um tipo fixo para cada campo da coleção. Então você pode encontrar, por exemplo, um campo "idade" como número em um documento e como string em outro, embora isso possa atrapalhar consultas e integridade lógica. Assim, a afirmativa II está correta. Além disso, o MongoDB v5.0 oferece validação de esquema por meio de regras definidas na coleção, usando recursos como JSON Schema e validações aplicadas em inserções e atualizações. Isso permite exigir formatos mínimos sem transformar o banco em um modelo relacional engessado. Logo, a afirmativa III também está correta. Portanto, o gabarito D está certo porque apenas II e III correspondem ao comportamento do MongoDB: flexibilidade de tipos e validação opcional de esquema, enquanto a exigência de mesmo número de campos em todos os documentos é típica do mundo relacional, não do MongoDB.