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); }); }); }); };