java-mongodb驱动使用问题

请教下,mongo中basicobject和document的区别在哪?

BsonDocument 和 Document 是类
BsonDocument 更适用于底层(内部)的 API,并且对于值类型的划分更细更严格
Document 对值类型的划分更宽泛,更适合高阶的 API
DBObject 是接口,需要一个具体的类 BasicDBObject 去实现它

DBObject
尽管不建议新的应用程序再使用它,但是从的2.X系列的驱动升级的应用程序可能继续使用DBObject接口来代表BSON文档,DBObject接口类似Document,因为他也将BSON的值表示为Object,但是它有一些不可能克服的缺点:

它是一个接口而不是一个类,所以它的API不能在不破坏二进制兼容性的情况下被扩展。
它并没有真正实现Map<Object,String>接口
它是一个接口,所以必须需要一个单独的具体类 BasicDBObject 去实现它。