Mongodb数据库连接

1. 首先我们需要 在包中安装 mongodb, 使用命令: npm install mongodb; 在安装包后,我们需要引用该包;如下:

var mongo = require('mongodb');

在Node.js中,当需要连接Mongodb数据库时,首先需要创建一个Mongodb数据库所在服务器的Server对象,作用是指定需要连接的MongoDB数据库所在的服务器。

2. 创建Server对象,如下命令:

var server = new mongo.Server(host, port, [options]);

参数host: 是指定服务器所在的地址;
参数port:是指定服务器的端口号。
options参数值是一个对象,用于指定服务器需要选用的一些选项,具体的包含哪些对象可以自己百度下;这边介绍一下最常用的参数;

auto_reconnect: 该属性为布尔值,当属性值为true时,在客户端与服务器连接过程中发生错误时自动重建连接,默认为false。

3. 创建数据库为DB对象;

在MongoDB服务器对象创建成功后,需要创建一个代表MongoDB数据库的DB对象,创建方法如下:

var db = new mongo.Db(databaseName, server, [options]);

databaseName: 该参数是必须的,用于指定需要连接的数据库名;
server: 用于指定该数据库所在的服务器。
options为一个对象,参数可选的,具体的参数自己百度,这边介绍一些常用的参数。

safe: 是一个布尔值,当属性值为true时,使用getLastError命令执行数据的存取操作,该命令返回存取操作的执行结果,默认为false;

4. 数据库连接

在Db对象创建后,需要使用对象的open方法执行数据库的链接操作,该方法使用如下所示:

db.open(callback);

callback 是一个回调函数,用于指定执行数据库连接操作后返回的回调函数,回调函数指定方法如下:

function(err, db) {}

在该回调函数中,使用二个参数,第一个参数为链接数据库失败时抛出的错误对象,第二个参数为一个Db对象,代表链接成功的数据库,当数据库连接失败时,该参数值为null;

5. 关闭数据库

当一个数据库不再需要使用时候,可以使用数据库对象的close方法关闭数据库,该方法如下所示:

db.close([forceClose], [callback]);

forceClose 参数值为一个布尔值,当该参数值为true时,强制关闭该数据库,关闭数据库后,不可再使用open方法打开该数据库。
当参数值为false,不强制关闭该数据库,可以使用该数据库对象的open方法打开该数据库。

callback 为一个函数,用于指定关闭数据库连接操作后返回的回调函数。该回调函数指定如下所示:

function (err) {}

该回调函数有一个参数值,表示的是为链接数据库失败时抛出的错误对象。

6. 监听数据库的close事件
当数据库关闭时,触发数据库的对象的close事件,可以通过监听数据库对象的close事件并指定回调函数的方法指定当关闭数据库操作执行结束时
所需要执行的处理,如下代码:

function(err, db) {}

该回调有2个参数,第一个参数为关闭数据库失败时抛出的错误对象,第二个参数值为成功关闭的数据库对象,当关闭数据库失败时该参数值为null.

下面是链接数据库的简单demo,代码如下:

package.json 代码如下:

{"name": "mdb","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "","license": "ISC","dependencies": {"mongodb": "^2.2.33"}
}

在项目中的根目录下新建一个 app.js, 代码如下:

const mongo = require('mongodb');
const Server = mongo.Server;
const Db = mongo.Db;const server = new Server('localhost', '27017', { auto_reconnect: true });
const db = new Db('dataDb', server, { safe: true });db.open(function(err, db) {if (err) {throw err;} else {console.log('成功建立数据库连接');db.close();}
});db.on('close', function(err, db) {if (err) {throw err;} else {console.log('成功关闭数据库连接');}
});

然后在项目根目录下 执行 node app.js, 如下图所示:

注意:在安装 mongodb时候,一定是需要是 2.2.33版本的mongodb, 如果我们默认使用 npm install mongodb的话,会默认安装 ^3.0.10
这个版本的,会导致数据库连接失败;如下图所示:

Mongodb数据库连接相关推荐

  1. mysql 查询 系统字段 自然日_吴裕雄--天生自然python数据清洗与数据可视化:MYSQL、MongoDB数据库连接与查询、爬取天猫连衣裙数据保存到MongoDB...

    本博文使用的数据库是MySQL和MongoDB数据库.安装MySQL可以参照我的这篇博文:https://www.cnblogs.com/tszr/p/12112777.html 其中操作Mysql使 ...

  2. Flask-mongoengine 连接 MongoDB 数据库连接提示认证失败(认证数据库未配置)

    数据库连接提示认证失败(认证数据库未配置) MongoDB支持在不同的数据库上创建不同的用户,即使这些用户的用户名相同.如果将要访问的数据库与用户所在的数据库不一致,而在连接时只配置将要访问的数据库, ...

  3. 如何断开mongodb数据库连接_如何连接远程mongodb数据库

    mongo shell安装好以后,就需要通过mongo shell来连接对应的远程mongodb数据库了,看下面的这个示例: mongo "mongodb://cluster0-shard- ...

  4. 如何断开mongodb数据库连接_mongodb关闭数据库实例

    一:使用 mongod 命令关闭 [mongod@localhost journal]# mongod --shutdown -f /etc/mongodb.conf killing process ...

  5. 如何断开mongodb数据库连接_如何创建mongodb数据库连接

    明月笑刀无情 创建Mongodb数据库 由于Mongodb不是关系型数据库文件,实际上,它并不存在传统关系型数据库中的所谓"数据库"的概念,但不用担心,当你第一次新增数据时,mon ...

  6. mongodb数据库连接失败原因

    标题:MongooseServerSelectionError: connect ECONREFUSED 127. 0. 0. 1:27017的错误该怎么解决 报错原因:mongodb服务未开启 ** ...

  7. Win7 MongoDB可视化工具Robo 3T 1.2.1(robomongo)的安装使用

    软件版本: Robo 3T 1.2.1 下载网址: https://robomongo.org/campaign 进入robomongo官网,点击download,进入下载页面 这里选择下载 Robo ...

  8. 封装对MongoDB数据库的增删改查访问方法(基于MongoDB官方发布的C#驱动)

    本文利用MongoDB官方发布的C#驱动,封装了对MongoDB数据库的增删改查访问方法. 先用官方提供的mongo-csharp-driver ,当前版本为1.7.0.4714 编写数据库访问帮助类 ...

  9. 【flask学习笔记】flask与HTTP,flask与mongodb交互,用手机输入局域网ip访问flask界面

    文章目录 引入(关于http) flask项目的配置 引入(关于http) 当我们在浏览器中的地址栏中输入这个URL,然后按下Enter时,稍等片刻,浏览器会显示一个问候页面.这背后有一个程序运行着. ...

最新文章

  1. 策略梯度搜索:不使用搜索树的在线规划和专家迭代 | 技术头条
  2. 编写程序,输入各类型变量按相应格式输出
  3. C语言 · 交换Easy
  4. 2016秋季阅读计划
  5. webpack配置说明
  6. 903计算机技术综合基础,北大903计算机技术综合基础考研真题、资料、参考书
  7. 计算机与英语教学的论文开题报告,英语教学论文开题报告
  8. 实验一 分治与递归—用分治法实现元素选择 java算法
  9. pycharm导入opencv库失败解决方法
  10. 常用的字符串分割方法
  11. ​5月9日数据匹配图论、匈牙利、KM算法,多目标跟踪
  12. 机器学习 | 算法笔记- 决策树(Decision Tree)
  13. 调研时报表的相关信息
  14. C语言画图形(图形库graphics的使用)
  15. MIUI 13 去除输入法广告
  16. Python-振动信号加入噪声-代码实现
  17. oracle序列自增
  18. java国际时间转换为北京时间
  19. 小白转行学IT该怎么选择领域?
  20. 录制计算机网课,电脑怎么录制网络课程?简单专业的录制方法分享

热门文章

  1. boost::geometry::detail::overlay::select_rings用法的测试程序
  2. boost::callable_traits的is_lvalue_reference_member的测试程序
  3. ITK:读取并打印DICOM标签
  4. ITK:创建一个后向差分运算符
  5. VTK:网格之Triangulate
  6. Qt Creator从Maya导出3D资产
  7. OpenGL textures combined组合纹理的实例
  8. OpenGL 实例化属性的实例
  9. OpenGL多维数据集的透视图渲染
  10. C++打印0到N的Catalan数卡特兰数(附完整源码)