mongodb getDatabase()只返回一个DB示例还是实际创建它?

wvmv3b1j  于 2022-11-28  发布在  Go
关注(0)|答案(1)|浏览(183)

为了在MongoDB 3.2中创建一个数据库示例,你必须写这样的东西:

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

根据官方的MongoDB Java API 3.2,这应该返回一个数据库示例。
我的疑问:
1.如果指定名称的DB不存在,MongoDB将为我创建它,我的理解是否正确?
1.如果问题#1的假设是正确的,那么如果我尝试两次请求同一个数据库,会发生什么情况?它会只返回已经存在的示例,还是会删除已经存在的示例并创建一个新示例?
你能不能,请,告诉我一个好的和 * 更新 * MongoDB的Java手册/教程,我谷歌了几个,但他们没有这么更新。

2vuwiymt

2vuwiymt1#

3.1.1驱动程序中:
调用getDatabase实际上并没有创建新的数据库,因为操作是惰性的-它返回数据库表示。调用任何可修改的操作(例如createCollection):
1.如果数据库不存在,将为您创建新数据库
1.如果存在,它将为您获取数据库
但是要记住,你必须调用任何实际执行的操作--比如create,如果你只调用getDatabase,它就不会创建它。

相关问题