Java MongoDB: Qual é a diferença entre com.mongodb.DB e com.mongodb.client

Sou novo usando o MongoDB, estou trabalhando em um projeto Java e iniciei alguns tutoriais para começar a trabalhar com o Driver.

Eu estava usando com.mongodb.client até que notei que não havia nenhum método findOne no com.mongodb.client.MongoCollection então eu reescrevi meu projeto para usar somente com.mongodb.DB e a biblioteca DBCollection inclui o método findOne que eu preciso .

Eu queria saber qual é a diferença entre essas duas bibliotecas?

Obrigado!

com.mongodb.DB é a API antiga para acessar o Mongo antes do 3.x. Você encontrará muitos tutoriais para essas classs. O código é totalmente funcional e você pode usá-lo para acessar os bancos de dados do Mongo 2.xe do Mongo 3.x, mas não é recomendado iniciar um novo projeto usando-o.

Desde 3.0, a maneira recomendada é através de com.mongodb.MongoClient e com.mongodb.client.MongoDatabase . Veja o tutorial oficial do driver Java aqui .