MongoDB Java驱动程序有三种不同的驱动程序选项:
该司机介绍页面给他们每个人的简要介绍,但没有进一步的解释,提供关于何时应该使用它们。我的问题:能否请您说明分别使用哪种情况?什么时候我应该比第二个更喜欢?何时/必须使用特定的驱动程序选项?
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 /驱动程序,否则不应该使用核心驱动程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句