nodejs封装MongoDB 增删改查(CURD)

甩个官网连接:MongoDB.

1. 装NodeJS

2. 装mongoDB服务以及客户端(相关配置可以自己配,不复杂)

官网下载:mongodb-win32

客户端:mongodb-compass

注意:安装服务的时候选择自定义,手动去勾选(默认是选中的)不要安装客户端compass,因为很慢!所以这两个可以单独安装,分开下载。

 客户端:

 客户端连接服务器的时候要先跑服务:

上代码: 

dataconfig.js(配置文件,你也可以放在connetct.js中)

var dataconfig = {
    dataurl: "mongodb://localhost:27017",
    dataname: 'test'
};
module.exports = dataconfig;

 

connect.js(下面针对数据库test中的集合address进行操作,可以改成你自己的就好)

const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
var dataconfig = require('./dataconfig');
var DatabaseOperation = {
    /*
    @selectall 方法返回全部所有数据
    @dataname 数据库名称
    @dealdata 回调处理函数 格式function(result){};
    */
    selectall: function(dataname, dealdata) {
        const client = new MongoClient(dataconfig.dataurl);
        client.connect(function(err) {
            assert.equal(null, err);
            console.log("数据库连接成功");
            const db = client.db(dataconfig.dataname);
            db.collection(dataname).find({}).toArray(function(err, result) { // 返回集合中所有数据
                if (err) throw err;
                dealdata(result);
            });
            client.close();
        })
    },
    /*
    @selectone 查询符合条件的数据
    @dataname 数据库名称
    @selectlanguage 查询控制语句 格式{index:value,index,value};
    @dealdata 回调处理函数 格式function(result){};
    */
    select: function(dataname, selectlanguage, dealdata) {
        const client = new MongoClient(dataconfig.dataurl);
        client.connect(function(err) {
            assert.equal(null, err);
            console.log("数据库连接成功");
            const db = client.db(dataconfig.dataname);
            db.collection(dataname).find(selectlanguage).toArray(function(err, docs) {
                console.log('find');
                dealdata(docs);
                client.close();
            });
        })
    },
    /*
    @insert添加数据格式json格式
    @dataname 数据库名称
    @dealdata 回调函数处理函数有一个result参数
    */
    insert: function(dataname, insertlanguage, dealdata) {
        const client = new MongoClient(dataconfig.dataurl);
        client.connect(function(err) {
            assert.equal(null, err);
            console.log("数据库连接成功");
            const db = client.db(dataconfig.dataname);
            db.collection(dataname).insertMany(insertlanguage, function(err, result) {
                assert.equal(err, null);
                dealdata(result);
                client.close();
            });
        })
    },
    /*
@update 修改数据的方法
@update添加数据格式json格式
@dataname 数据库名称
@dealdata 回调函数处理函数有一个result参数
*/
    update: function(dataname, updatelanguage, updatecondition, dealdata) {
        const client = new MongoClient(dataconfig.dataurl);
        client.connect(function(err) {
            assert.equal(null, err);
            console.log("数据库连接成功");
            const db = client.db(dataconfig.dataname);
            db.collection(dataname).updateOne(updatelanguage, updatecondition, function(err, result) {
                assert.equal(err, null);
                dealdata(result);
                client.close();
            });
        })
    },
    /*
    @removeall 删除数据的方法
    @dataname 数据库名称
    @removelanguage 删除数据的条件
    @dealdata 回调函数处理函数有一个result参数
    */
    removeall: function(dataname, removelanguage, dealdata) {
        const client = new MongoClient(dataconfig.dataurl);
        client.connect(function(err) {
            assert.equal(null, err);
            console.log("数据库连接成功");
            const db = client.db(dataconfig.dataname);
            db.collection(dataname).deleteOne(removelanguage, function(err, result) {
                assert.equal(err, null);
                dealdata(result);
                client.close();
            });
        })
    },

};

// 测试用例
// 查询全部
DatabaseOperation.selectall('address', function(result) {
        console.log("select查询结果");
        console.log(result);
    })
    // 查询单个
DatabaseOperation.select('address', {
    "addressid": "2"
}, function(result) {
    console.log("select查询结果");
    console.log(result);
});
// 插入数据
DatabaseOperation.insert('address', [{
        "insert": "hello"
    }], function(result) {
        console.log('inserts插入结果');
        console.log(result);
    })
// 更新
DatabaseOperation.update('address', {
        "insert": "hello"
    }, {
        $set: {
            "insert": "https://www.runoob.com"
        }
    }, function(result) {
        console.log(result);
    })
// 删除
DatabaseOperation.removeall('address', {
    "insert": "hello"
}, function(result) {
    console.log(result);
})

module.exports = DatabaseOperation;

然后从客户端查看就好:

 

也可以看看官网的:nodeJs/mongoDB

 

然后可以开启MongoDB服务后,执行:node connect.js

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值