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

            });

        });

    });

};

 

你可能感兴趣的:(mongo)