Mongodb数据库连接
2018-06-13 23:36 龙恩0707 阅读(5190) 评论(0) 编辑 收藏 举报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
这个版本的,会导致数据库连接失败;如下图所示: