1
resposta

Por quê utilizar o FIlters.eq e não apenas new Document?

Enquanto acompanhava o professor, cometi a gafe de escrever o New Document durante o Update, no lugar de utilizar o FIlters.eq.

A questão é que ainda assim o update aconteceu. Então, qual a diferença de utilizar um ou o outro sendo que ambos trazem a mesma finalidade?

1 resposta

Oi Gabriel, tudo bem?

Essa parte que você citou seria a do código a seguir, certo?

alunos.updateOne(Filters.eq("nome", "Joao"),
    new Document("$set", new Document("nome", "Joao Silva")));

Pelo que entendi, o método updateOne recebe no primeiro parâmetro uma referência do tipo Bson, e essa referência é criada tanto ao usar o Filters.eq, quanto ao instanciar um novo Document, uma vez que a classe Document também implementa a interface Bson. Acredito que nesse caso foi possível realizar o update tranquilamente, porque nossas condições eram bem simples. Porém, se precisássemos filtrar muitas condições, seria mais fácil (e mais legível também) usar o Filters.eq.

Caso queira se aprofundar mais, dê uma analisada na documentação da classe Document e do método updateOne.

Espero ter ajudado! Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!