本章分享的是我们从node.js连接到MongoDB数据库,这个连接是通过MongoDB的一个驱动程序来实现的,这个驱动程序是官方支持的原生驱动程序,当然不知道后面会不会有更好的。
这个驱动程序就是先使用以下npm命令安装驱动程序:
npm install mongodb --save
项目的地址:http://mongodb.github.io/node-mongodb-native/
然后我们通过MongoClient连接到MongoDB,这整个过程的代码如下:
var MongoClient = require('mongodb').MongoClient, Server = require('mongodb').Server; var server = new Server('localhost', 27017, { poolSize: 5 } ); var options = { retryMiliSeconds: 500 } var client = new MongoClient(server, options); client.open(function(err, client) { if (err) { console.log('连接失败'); }else { var db = client.db('mytest'); db.authenticate('liangke', 'sight2584', function(err, res){ if (!err) { console.log('连接成功!'); db.logout(); console.log('数据库成功关闭!'); }else { console.log('连接失败'); } db.close(); console.log('数据库连接关闭'); }); } });
那么来解释一下上面的代码:
- 首先,我们导入需要连接的驱动程序,也就是上面代码的第一、二行;
- 然后我们创建了MongoClient对象的一个实例,该类的构造函数需要一个Server对象的作为第一个参数,而数据库的选项的对象作为第二个参数,即MongoClient(Server, options),这个Server对象中也存在相关的选项,而options也有几个相关的选项,详情查看官方文档。(在例子中poolSize表示指定的服务器连接池使用的连接数量,默认值是5,这意味着可以有多达5个由MongoClient共享的连接连到该数据库;而retryMiliSeconds则表示指定重试连接时等待的毫秒数。默认值是5000)详情请移步http://www.asni.cn/1608
- 当我们创建了MongoClient后,就需要通过open(callback)方法打开到服务器的MongoDB数据库的连接。
- 这个callback(回调函数)接受两个参数,第一个参数表示连接失败,第二个参数表示连接成功传入的MongoClient对象,例如client.open(functions(err, client){…});
- 然后需要我们连接到我们指定的数据库,还需要用到client对象上的db(databasename)方法来创建数据库实例,如果连接的数据库需要用到身份验证,则还需要使用db.authenticate(username, password, callback)来验证到数据库。
- 最后就是你自己的发挥之地了。
- 当然,最后你别忘了注销数据库,使用db.logout()方法。
- 要关闭MongoDB的连接,你在客户端连接上调用close(),例如:client.close()
这整个过程就这样实现的,是不是很简单呢?快打开你的IDE动动小手吧!有任何的问题,请在本站下方留言哦!智言会在空闲时间段回复各位的。
评论前必须登录!
注册