MongoDB BasicDBObject vs java中的Document

Soo*_*ash 6 mongodb mongodb-query mongo-java-driver

我使用MongoDB v3.2.0和Mongo Java Driver 3.0.4版本.我使用BasicDBObject(不推荐使用)而不是使用Documentjava,因为我需要做很多更改才能在我的独立java项目中转换为Document.任何人都可以告诉我更改为Document,内存和大型集合插入和读取是否会有任何性能改进.有没有办法改善我使用java在MongoDB上的频繁写入和读取操作.

kar*_*006 5

不建议使用基本的DBobject。BasicDBobject中仅弃用的部分是DBPointerclass和其他一些方法,例如toString() and getId()

Map<String, Object>与基本DB对象相比,文档实现和编写的代码更少

DBObject 尽管不建议用于新应用程序,但是从2.x驱动程序系列进行升级的对象可能会继续使用DBObject接口来表示BSON文档。DBObject与Document相似之处在于,它将BSON值表示为Object,但是它具有一些无法克服的缺点:

  1. 它是一个接口而不是一个类,因此如果不破坏二进制兼容性就不能扩展它的API。

  2. 它实际上并没有实现Map。

  3. 由于它是一个接口,因此需要一个单独的名为BasicDBObject的具体类来实现该接口。

Bson 为了将这些结合在一起,驱动程序包含一个小而强大的接口,称为Bson。代表BSON文档的任何类,无论是包含在驱动程序本身中还是来自第三方的,都可以实现此接口,然后可以在需要BSON文档的高级API中的任何位置使用。