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);
                });
            });
        });
    };
  • 相关阅读:
    Tiny64140之初始化时钟
    Tiny6410之控制icache驱动
    Tiny6410之按键裸机驱动
    Linux -- man 、info、 whatis、 -h
    Linux -- which whereis
    Linux -- sudoers (简单:转)
    Linux -- sudo
    Linux -- sudoers文件
    Linux -- cp
    Linux -- mv
  • 原文地址:https://www.cnblogs.com/think_fish/p/3615736.html
Copyright © 2011-2022 走看看