附上上一篇文章链接:
node.js对mongodb的连接&增删改查(附async同步流程控制)(上)
上一篇文章说到,关于耦合度很高的对数据库的连续操作,如何实现同步流程控制呢?使用了async模块的waterfall不顶用。只能使用q模块的proimise方式啦。果然好用。
1.install
npm install q --save
2.require
var Q=require('q');
3.重写数据库CRUD操作方法
/**
* 创建数据库服务器并开发名为databaseName的数据库
* @param host ip
* @param port 端口
* @param databaseName
* @return 打开失败返回-1 ,成功返回database
*/
function openDatabase(host,port,databaseName,collectionName){
//创建数据库所在的服务器
var deferred = Q.defer();
var server = new mongo.Server(host, port, {auto_reconnect: true});
var db = new mongo.Db(databaseName, server, {safe: true});
db.open(function (err, db) {
if (err) {
console.log('打开数据库失败');
deferred.reject(err);
}
else {
console.