/*
@@decription mongodbHelper
@@version 1.0
@@author think_fish&&dachie
@@copyright think_fish@@dachie
*/ var mongodb=require('./db.js'); function Helper(){};
module.exports=Helper; /*
@@新增方法
@@tbName:表名 :string
@@obj:新增对象 :{}
@@callback:回调 :function
@@ensure:唯一索引 :{}
*/
Helper.execInsert=function(tbName,obj,callback,ensure){
ensure=ensure||{};
mongodb.open(function (err,db) {
if(err){
mongodb.close();
return callback(err);
}
db.collection(tbName,function(err,collection){
if(err){
mongodb.close();
return callback(err);
}
collection.ensureIndex(ensure,{'unique':true});
collection.insert(obj,{safe:true},function (err,doc) {
mongodb.close();
callback(err,doc);
}); });
})
} /*
@@修改方法
@@tbName 表名    :string
@@oldObj 原对象 :{}
@@newObj 新对象 :{}
@@callback 回调 :function
*/
Helper.execUpdate =function(tbName,oldObj,newObj,callback) {
mongodb.open(function (err,db) {
if(err){
mongodb.close();
return callback(err);
}
db.collection(tbName,function(err,collection){
if(err){
mongodb.close();
return callback(err);
}
collection.update(oldObj,{
$set:newObj
},{safe:true},function(err,doc){
mongodb.close();
callback(err,doc);
});
});
})
} /*
@@删除方法
@@tbName 表名    :string
@@delObj 原对象 :{}
@@callback 回调 :function
*/
Helper.execRemove=function(tbName,delObj,callback){
mongodb.open(function (err,db) {
if(err){
mongodb.close();
return callback(err);
}
db.collection(tbName,function(err,collection){
if(err){
mongodb.close();
return callback(err);
}
collection.remove(delObj,{safe:true},function (err,count) {
mongodb.close();
callback(err,count);
}); });
})
} /*
@@删除方法
@@tbName 表名    :string
@@query 查询条件 :{}
@@callback 回调 :function
*/
Helper.find=function(tbName,query,callback,sort){
mongodb.open(function(err,db){
if(err){
mongodb.close();
return callback(err);
} db.collection(tbName,function(err,collection){
if(err){
mongodb.close();
return callback(err);
} collection.find(query).sort(sort).toArray(function(err,list){
mongodb.close();
callback(err,list);
});
});
});
} /*
@@删除方法
@@tbName 表名    :string
@@query 查询条件 :{}
@@callback 回调 :function
*/
Helper.findOne=function(tbName,query,callback){
mongodb.open(function(err,db){
if(err){
mongodb.close();
return callback(err);
}
db.collection(tbName,function(err,collection){
if(err){
mongodb.close();
return callback(err);
}
collection.findOne(query,function(err,doc){
mongodb.close();
callback(err,doc);
});
});
});
};
05-02 19:33