Dia 15 de 15

Preparatório Completo para Certificação

Parabéns, dev! Hoje você completa o Dia 15 e conclui com êxito a jornada intensiva para a certificação MongoDB Associate Developer. Ao longo destes 15 dias, você cobriu desde os fundamentos de representação BSON até tópicos avançados de agregação, modelagem, sharding e transações distribuídas.

1. Estrutura Oficial do Exame

2. As 10 Maiores Armadilhas do Exame (Top Exam Pitfalls)

  1. Projeções e o campo _id: O _id é incluído por padrão em todas as projeções. Em uma Covered Query, esquecer de suprimir com { _id: 0 } forçará uma leitura em disco (FETCH), quebrando a cobertura do índice.
  2. $elemMatch em Arrays de Documentos: Consultar múltiplos campos de um subdocumento sem $elemMatch causará correspondências cruzadas em elementos diferentes do array.
  3. A Regra ESR para Índices Compostos: A ordem dos campos no índice composto deve ser sempre: Equality (Igualdade) $\rightarrow$ Sort (Ordenação) $\rightarrow$ Range (Intervalos/In).
  4. Restrições de Multikey Index: Um índice composto pode indexar no máximo um único campo do tipo array. Se tentar indexar dois arrays no mesmo índice, o MongoDB rejeita a criação.
  5. O Comportamento do $unwind: Por padrão, o $unwind descarta documentos com arrays vazios ou null. Para mantê-los, é mandatório usar preserveNullAndEmptyArrays: true.
  6. Limite de 100 MB em Agregações: Estágios como $group e $sort que excedem 100 MB de RAM falham imediatamente a menos que { allowDiskUse: true } seja explicitamente passado.
  7. O Retorno do $lookup: O campo de saída especificado em as é sempre um array, mesmo que a correspondência seja 1:1.
  8. Quórum de Maioria em Replica Sets: A maioria estrita é dada por floor(N / 2) + 1. Em um cluster de 3 nós, 2 nós são necessários para manter o Primary; em 5 nós, 3 são necessários.
  9. Shard Keys Monotônicas: Usar campos estritamente crescentes (como createdAt) em Ranged Sharding cria um ponto quente de escrita (hotspot) permanente no último shard.
  10. Durabilidade de Escrita (Write Concern): Para garantir que escritas não sofram rollback após um failover do Primary, deve-se utilizar w: "majority".

3. Simulado Prático Final (5 Questões Críticas)

4. Checklist para o Dia da Prova