2017-07-03 79 views
0

我正在使用MongoDB v3.2.0和Mongo Java Driver 3.0.4版本。我使用的是BasicDBObject(不建議使用),而不是在java中使用Document,因爲我需要在獨立的java項目中進行許多更改以轉換爲Document。任何人都可以告訴我更改爲Document,會不會在內存和大型集合插入和讀取方面有任何性能改進。有沒有什麼方法可以提高我在MongoDB上使用java的頻繁讀寫操作。MongoDB BasicDBObject vs java中的文檔

+1

實際上它們都是在那裏執行['Map '](http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true)接口在大多數情況下,您的應用程序應該只是簡單地使用這些接口方法。此外,['BasicDBObject'](http://mongodb.github.io/mongo-java-driver/3.4/javadoc/com/mongodb/BasicDBObject.html)[實際上並未被標記爲廢棄](http:// mongodb .github.io /蒙戈-java的驅動/ 3.4 /的Javadoc /棄用-list.html)。儘管在可用的情況下使用「Document」可能是最佳做法。各種驅動程序抽象層仍然使用'DBObject' –

回答

0

基本DBobject未被棄用。在BasicDBobject只有過時的部分是DBPointer類及其他一些方法,如toString() and getId()

文檔實現Map<String, Object>並有更少的代碼雖然不建議用於新的應用程序相比,基本數據庫對象

DBOBJECT 寫,那些從2.x驅動程序系列升級的可能會繼續使用DBObject接口來表示BSON文檔。 DBOBJECT類似文件,它代表BSON值對象,但它有是不可能克服的幾個缺點:

  1. 它是一個接口,而不是一類,所以它的API不能沒有延長打破二進制兼容。

  2. 它實際上並沒有實現Map。

  3. 因爲它是一個接口,稱爲BasicDBObject一個單獨的具體類實現該接口,需要

BSON 爲了配合這些都在一起,該驅動器包含一個小而強大的接口稱爲BSON。代表BSON文檔的任何類,無論是包含在驅動程序本身還是來自第三方,都可以實現此接口,然後可以在需要BSON文檔的高級API中使用。

相關問題