NodeJs+Vue+MongoDB后台管理系统模板(1)封装MongoDB模块

封装相关的MongoDB模块首先少不了的就是安装相关组件:

npm install mongodb@2.2.36 --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,哈哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ღ故里᭄ꦿ࿐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值