zoukankan      html  css  js  c++  java
  • 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);
                });
            });
        });
    };
  • 相关阅读:
    【TensorFlow】tf.nn.max_pool实现池化操作
    nginx页面不能正常访问排除方法
    Nginx启动错误:error while loading shared libraries: libpcre.so.1
    解决:make:cc 命令未找到的解决方法
    spring mvc:练习:表单验证(javaConfig配置和注解)
    spring mvc:练习:javaConfig配置和注解
    SpringMvc中的校验框架@valid和@validation的概念及相关使用 和BindingResult bindingResult
    springmvc的@Validated/@Valid注解使用和BindingResult bindingResult
    spring MVC注解深入研究
    spring mvc: 注解和JavaConfig实例
  • 原文地址:https://www.cnblogs.com/think_fish/p/3615736.html
Copyright © 2011-2022 走看看