O DBobject básico não está obsoleto. A única parte obsoleta no objeto BasicDB é
DBPointer
class e alguns outros métodos como toString() and getId()
Documento implementa
Map<String, Object>
e há menos código para escrever em comparação com o objeto Basic DB DBObject Embora não seja recomendado para novos aplicativos, aqueles que estão atualizando da série de drivers 2.x podem continuar usando a interface DBObject para representar documentos BSON. DBObject é semelhante a Document na medida em que representa valores BSON como Object, mas possui algumas deficiências impossíveis de superar:
-
é uma interface em vez de uma classe, então sua API não pode ser estendida sem quebrar a compatibilidade binária.
-
Na verdade, ele não implementa Map.
-
Por ser uma interface, é necessária uma classe concreta separada chamada BasicDBObject que implementa essa interface
Bson Para unir tudo isso, o driver contém uma interface pequena, mas poderosa, chamada Bson. Qualquer classe que represente um documento BSON, seja incluída no próprio driver ou de terceiros, pode implementar essa interface e pode ser usada em qualquer local da API de alto nível onde um documento BSON seja necessário.