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)
})