当前位置:  开发笔记 > 编程语言 > 正文

MongoDB Java驱动程序:MongoCore驱动程序与MongoDB驱动程序与MongoDB异步驱动程序

如何解决《MongoDBJava驱动程序:MongoCore驱动程序与MongoDB驱动程序与MongoDB异步驱动程序》经验,为你挑选了1个好方法。

MongoDB Java驱动程序有三种不同的驱动程序选项:

    核心司机

    MongoDB驱动程序

    MongoDB异步驱动程序

该司机介绍页面给他们每个人的简要介绍,但没有进一步的解释,提供关于何时应该使用它们.我的问题:请你澄清一下使用它们的案例是什么?什么时候我应该更喜欢一个,当我必须/必须使用特定的驱动程序选项?



1> GammaOmega..:

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() {
    @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 /驱动程序,否则不应使用核心驱动程序.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有