崬城衞 发表于 2015-7-10 12:21:23

MongoHelper

/*
@@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);
});
});
});
};
  
页: [1]
查看完整版本: MongoHelper