NodeJs+Vue+MongoDB後臺管理系統模板(1)封裝MongoDB模塊

封裝相關的MongoDB模塊首先少不了的就是安裝相關組件:

npm install [email protected] --save

 引入mongodb的MongoClient,並定義運行的MongoDB的數據位置及端口的相關信息,最後暴露相關的方法,剩下的就是封裝相關增刪改查的方法了,需要注意的是我因爲當初學習的時候用的是較老的版本,所以直接安裝的話,我的代碼可能會報錯,需要安裝指定版本的MongoDB。

const MongoClient = require('mongodb').MongoClient;
const DbUrl = 'mongodb://localhost:9999/mobileBooksCampus';
const ObjectID = require('mongodb').ObjectID;

exports.ObjectID = ObjectID;

數據庫的連接:

function  __connectDb(callback){
    MongoClient.connect(DbUrl,function(err,db){
        if(err){
            console.log('數據庫連接失敗');
            return;
        }
        callback(db);
    })
}

查詢方法:

exports.find=function(collectionname,json,callback){
    __connectDb(function(db){
        var result=db.collection(collectionname).find(json);
        result.toArray(function(error,data){
            db.close();
            callback(error,data);
        })
    })
};

增加方法:

exports.insert=function(collectionname,json,callback){
    __connectDb(function(db){
        db.collection(collectionname).insertOne(json,function(error,data){
            callback(error,data);
        })
    })
};

修改方法:

exports.update=function(collectionname,json1,json2,callback){
    __connectDb(function(db){
        db.collection(collectionname).updateOne(json1,{$set:json2},function(error,data){
            callback(error,data);
        })
    })
};

刪除方法:

exports.deleteOne=function(collectionname,json,callback){
    __connectDb(function(db){
        db.collection(collectionname).deleteOne(json,function(error,data){
            callback(error,data);
        })
    })
};

最終方法暴露之後,在其他的地方需要用到數據庫的相關操作,直接引入相關模塊,即可直接調用相關的增刪改查的方法,節省代碼的同時,使代碼變得更加的易讀。

例:該方法用於查找所有user表裏age=20的所有用戶

const DB = require('./../../modules/db.js');//引入封裝好的模塊

DB.find('user', { //調用查找函數
    age:20
},(err, users)=>{
    if(err){
        //監聽錯誤
    }
    res.send({
        users
    })
})

最後想要完整代碼的,歡迎訪問我的GitHub,最好來個Star,哈哈。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章