[英]MongoDB Java Driver: MongoCore Driver vs. MongoDB Driver vs. MongoDB Async Driver
TL; DR :
如果操作很慢,請使用異步驅動程序,或者在大多數情況下使用常規驅動程序。 您不應該使用核心驅動程序。
MongoDB常規驅動程序 :
可用於搜索,創建,讀取,更新和刪除文檔的常規驅動程序。 只要未返回結果或未執行操作(同步行為), find(...)
, updateMany(...)
, deleteMany(...)
和類似方法將掛起。 這是大多數程序使用的驅動程序,並且在大多數情況下都很好。
以下是插入單個文檔的示例:
collection.insertOne(doc);
//Do something here.
System.out.println("Inserted!")
MongoDB異步驅動程序 :
您可以使用另一種類型的驅動程序來搜索,創建,讀取,更新和刪除文檔。 此驅動程序提供與常規驅動程序類似的方法( find(...)
, updateMany(...)
, deleteMany(...)
等)。
與常規驅動程序的區別在於主線程不會掛起,因為異步驅動程序在回調中發送結果(異步行為)。 當操作可能需要很長時間(大量數據要經過,高延遲,在未編制索引的字段上查詢等)並且您不想管理多個線程時,將使用此驅動程序。
以下是插入單個Document時回調的示例:
collection.insertOne(doc, new SingleResultCallback<Void>() {
@Override
public void onResult(final Void result, final Throwable t) {
//Do something here.
System.out.println("Inserted!");
}
});
// Do something to show that the Document was not inserted yet.
System.out.println("Inserting...")
有關更多信息,請閱讀此內容 。
MongoDB核心驅動程序
常規和異步驅動程序的基礎層。 它包含執行常規和異步驅動程序通用的所有操作的低級方法。 除非您為MongoDB創建新的API /驅動程序,否則不應使用核心驅動程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.