连接到不存在的mongodb服务器不会引发异常

Tor*_*enJ 3 java mongodb mongodb-java

我正在玩Java的MongoDB驱动程序.所以我刚刚创建了一个简单的应用程序来连接到MongoDB服务器并选择一个数据库.
所以我创建了一个实例MongoClient并选择了一个'DB':

try
{
    MongoClient client = new MongoClient("localhost", 27017);
    DB database = client.getDB("example");
}catch(Exception e){
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

由于mongod我的机器上没有正在运行的实例,我预计client会抛出一个Exception.不幸的是情况并非如此.
即使选择数据库也没有任何反应.它就像有一个正在运行的mongod实例一样.

我查看了有关Java驱动程序的文档,但找不到任何有关它的信息.与Google相同.
我错过了什么吗?

我正在使用官方网站上的最新MongoDB驱动程序(版本2.12.2).

小智 6

这是预期的行为.在需要之前,驱动程序不会尝试连接到数据库.如果您尝试使用mongo shell,则在数据库不存在时不会收到错误.

当您尝试将文档插入到不存在的集合中时,它会自动为您创建,也就是在延迟建立连接时.这是第一次当你真正执行一些DB操作(find(),insert()连接正在检查等).