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里面引入insex,js,然后对数据库进行操作

const MongoData = require('./index')
var numData = new MongoData('callBook','callBook')
//测试增加数据
numData.insert({ name: 'yujia', 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 : 'yujia'},(err,result)=>{
    if(err){
        console.log(err)
    }
    console.log(result)
})
//测试更新数据
numData.updata({name : 'yujia'},{name : 'tianyi'},(err,result)=>{
    if(err) console.log(err)
    console.log(result)
})

猜你喜欢

转载自blog.csdn.net/heng_woshizuikeaide/article/details/84250949