node外部处理mongoDB数据库(小白的笔记)

node外部处理mongoDB数据库(小白的笔记)

index.js里面完成对mongoDB数据库的操作

    const mongodb = require('mongodb')
    const { MongoClient, ObjectId } = mongodb
    
    //存储数据 MongoData('callBook','callBook') 
    // 存储错误 ('dbErr', 'errData')
    
    //接口 连接数据库 实现相应功能、
    class DealData {
        constructor(dbname, collectionname) {
            var dbName = dbname
            var collectionName = collectionname
            this.insert = (data, callBack) => {
                MongoClient.connect('mongodb://127.0.0.1:27017', { useNewUrlParser: true }, (err, client) => {
                    if (err) {
                        this.dealErr(err, callBack)
                    }
                    var dataP = client.db(dbName).collection(collectionName)
                    dataP.insert(data, (err, result) => {
                        if (err) {
                            this.dealErr(err, callBack)
                        }
                        callBack(null, result)
                        client.close()
                    }) 
                })
            }
            this.delete = (data, callBack) => {
                MongoClient.connect('mongodb://127.0.0.1:27017', { useNewUrlParser: true }, (err, client) => {
                    if (err) {
                        this.dealErr(err, callBack)
                    }
                    var dataP = client.db(dbName).collection(collectionName)
                    dataP.deleteOne(data, (err, result) => {
                        if (err) {
                            this.dealErr(err, callBack)
                        }
                        callBack(null, result)
                        client.close()
                    })
                })
            }
            this.updata = (data, newData, callBack) => {
                MongoClient.connect('mongodb://127.0.0.1:27017', { useNewUrlParser: true }, (err, client) => {
                    if (err) {
                        this.dealErr(err, callBack)
                    }
                    var dataP = client.db(dbName).collection(collectionName)
                    dataP.updateOne(data, { $set: newData }, (err, result) => {
                        if (err) {
                            this.dealErr(err, callBack)
                        }
                        callBack(null, result)
                        client.close()
                    })
                })
            }
            this.find = (data, callBack) => {
                MongoClient.connect('mongodb://127.0.0.1:27017', { useNewUrlParser: true }, (err, client) => {
                    if (err) {
                        this.dealErr(err, callBack)
                    }
                    var dataP = client.db(dbName).collection(collectionName)
                    dataP.find(data).toArray((err, result) => {
                        if (err) {
                            this.dealErr(err, callBack)
                        }
                        callBack(null, result)
                        client.close()
                    })
                })
            }
            this.dealErr = (err, callBack) => {
                var errDB = new DealData('dbErr', 'errData')
                errDB.insert(err)
                callBack(err,null)
            }
        }
    }
    //构造函数导出
   module.exports = DealData
   

node.js里面引入index.js,然后对数据库进行操作

const MongoData = require('./index')
var numData = new MongoData('callBook','callBook')
//测试增加数据
numData.insert({ name: 'beidi', phoneNum: 123 }, (err, result) => {
    if (err) {
        console.log(err)
        return
    }
    console.log(result)
})
//测试查找数据
numData.find({},(err,result)=>{
    if(err){
        console.log(err)
    }
    console.log(result)
})
//测试删除数据
numData.delete({name : 'beidi'},(err,result)=>{
    if(err){
        console.log(err)
    }
    console.log(result)
})
//测试更新数据
numData.updata({name : 'beidi'},{name : 'beiji'},(err,result)=>{
    if(err) console.log(err)
    console.log(result)
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值