1
resposta

[Dúvida] mongodb schema validation additionalproperties

Em projetos reais em que é usado uma aplicação por trás como Java Spring que faz todas as validações e já temos o objeto definido que vamos inserir é melhor adicionar essa propriedade additionalproperties para não permitir que novos campos fora do schema sejam adicionados ou aproveitar da finalidade do NoSQL para sim permitir que novos campos sejam adicionados?

Obs.: levando em conta que posso inserir um objeto inteiro que não tem certos dados e em outro momento posso atualizar o objeto acrescentando novas informações.

1 resposta

A decisão de usar ou não a propriedade additionalProperties em um banco de dados NoSQL depende de uma série de fatores, incluindo o tipo de dados que você está armazenando, o tipo de aplicativo que você está construindo e os requisitos de escalabilidade.

Em geral, é melhor usar a propriedade additionalProperties para garantir que os dados sejam armazenados de forma consistente. Isso é especialmente importante se você estiver armazenando dados que serão usados por vários aplicativos ou usuários. A propriedade additionalProperties também pode ajudar a evitar erros, pois impedirá que novos campos sejam adicionados ao esquema que não são esperados.

No entanto, há alguns casos em que pode ser benéfico não usar a propriedade additionalProperties. Por exemplo, se você estiver construindo um aplicativo que precisa ser capaz de se adaptar a mudanças nos dados, pode ser útil permitir que novos campos sejam adicionados ao esquema. Além disso, se você estiver usando um banco de dados NoSQL que não suporta a propriedade additionalProperties, você não terá escolha a não ser permitir que novos campos sejam adicionados ao esquema.

Em última análise, a decisão de usar ou não a propriedade additionalProperties é uma decisão de design. Não há resposta certa ou errada, e a melhor decisão para você vai depender de suas necessidades específicas.

No seu caso, você mencionou que está usando uma aplicação por trás como Java Spring que faz todas as validações e que você já tem o objeto definido que vai inserir. Nesse caso, é provável que seja benéfico usar a propriedade additionalProperties para garantir que os dados sejam armazenados de forma consistente. Isso ajudará a evitar erros e garantirá que os dados possam ser usados por vários aplicativos ou usuários.

Se te ajudou marca como solucionado.