Os bancos não relacionais precisam abrir mão de recursos como integridade referencial para ganhar flexibilidade e outras facilidades inexistentes no modelo relacional. Com isso, para manter a integridade dos dados, o controle costuma ser feito via aplicação, com validações e funções específicas para isso.
Com a versão 3.2 do MongoDB, novos recursos como validação de documentos, verificando se informações inseridas em documentos atendem a critérios pré-estabelecidos, como:
Se a chave (campo) existe; Se contém informação no formato certo (string, inteiro, data, bool, etc); Se está em um formato específico (via expressão regular); Se o elemento inserido faz parte de uma lista; Com isso é possível forçar uma melhor padronização dos documentos e tirando um pouco esse controle da aplicação.
[Saiba mais]