繁体   English   中英

MongoClient.getDatabase()是仅返回数据库实例还是实际创建它?

[英]Does MongoClient.getDatabase() return just a DB instance or actually creates it?

为了在MongoDB 3.2中创建数据库实例,您必须编写如下代码:

new MongoClient().getDatabase("dbName");

根据官方的MongoDB Java API 3.2,这应该返回一个数据库实例,我的问题是:

  1. 我是否正确理解,如果不存在具有指定名称的数据库,那么MongoDB会为我创建它吗?
  2. 如果问题1的假设是正确的,那么如果我尝试两次请求相同的数据库,将会发生什么? 它会只返回已存在的实例,还是会删除已存在的实例并创建一个新实例?

PS:能否请您为我提供一本很好的,经过更新的Java版MongoDB手册/教程,我在Google上搜索了其中的一些手册,但并没有那么更新。

3.1.1驱动程序中:

调用getDatabase实际上并不创建新数据库,因为操作是惰性的-它返回数据库表示形式。 调用任何可修改的操作(例如createCollection ):

  1. 如果不存在,将为您创建新的数据库
  2. 如果存在,它将为您获取数据库

但是请记住,您必须调用实际上执行某项操作的任何操作-如create。 如果仅调用getDatabase ,它将不会创建它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM