首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoClient.getDatabase()是只返回一个DB实例还是实际创建它?

问MongoClient.getDatabase()是只返回一个DB实例还是实际创建它?
EN

Stack Overflow用户
提问于 2015-11-24 19:29:08
回答 1查看 3.3K关注 0票数 2

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

代码语言:javascript
复制
new MongoClient().getDatabase("dbName");

根据官方的JavaAPI3.2 MongoDB,这应该会返回一个数据库实例。

我的问题:

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

请你给我一个好的和更新的MongoDB手册/教程,我在谷歌上搜索了其中的几个,但是它们没有被更新。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-24 19:51:01

在3.1.1驱动中:

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

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

但是请记住,您必须调用任何实际执行类似create的操作。如果您只调用getDatabase,它就不会创建它。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33902181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档