/*
@@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. 黄聪:css3实现图片划过一束光闪过效果(图片光影掠过效果)
  2. Python语言and-or的用法
  3. Docker入门教程(五)Docker安全
  4. IntelliJ IDEA 目录技巧
  5. 使用 dbms_xplan.display 按照 plan_hash_value 查执行计划的方法
  6. nyoj 284 坦克大战 简单搜索
  7. (七)STM32的RTC简单操作
  8. C\C++ 框架和库整理(转)
  9. 仿酷狗音乐播放器开发日志十一——CTreeNodeUI的bug修复
  10. JAVA 上加密算法的实现用例---转载
  11. iOS开发工程师笔试题
  12. 使用Erlang和Yaws开发REST式的服务
  13. java发送邮件完整实例 java邮件工具类
  14. Linux下ACL权限控制以及用sudo设置用户对命令的执行权限
  15. 通过SecureCRT连接虚拟机
  16. Spring+Struts+Mybatis+Shiro整合配置
  17. ThinikPhp 将数据库模型的增、删、改操作写入日志
  18. nowcoder 合并回文子串
  19. MySQL跨库查询例子
  20. php header utf8 插入header("Content-type: text/html; charset=utf-8");

热门文章

  1. 20155239 2016-2017-2 《Java程序设计》第8周学习总结
  2. Objective-C教程备忘单
  3. 458 - The Decoder & C语言gets函数,字符输出输出 & toascii()
  4. Servlet技术基础
  5. 查看ms SQL Server存储过程,函数的内容
  6. unity里面的gameobject和transform的关系
  7. mariadb master and salve configure
  8. bzoj 3119: Book
  9. 常用数据结构的功能及复杂度总结(OI)
  10. EMF与GEF