标签:node obj err mongodb db colname callback res 改查
1----Node.js封装mongodb增删改查
2----调用封装好的增删改查
const MongoClient = require("mongodb"). MongoClient;
const url="mongodb://localhost:27017";
//增 删 改 查
function connect(callback){
MongoClient.connect(url,(err,db)=>{
if(err) throw err;
callback(db)
})
}
//增
module.exports.insert=(dbname,colname,obj,callback)=>{
connect((db)=>{
if(!(obj instanceof Array)){
obj=[obj]
}
db.db(dbname).collection(colname).insertMany(obj,(err,result)=>{
if(err) throw err;
console.log("插入数据成功");
db.close();
callback(result);
})
})
}
//删
module.exports.del=(dbname,colname,obj,callback)=>{
connect((db)=>{
db.db(dbname).collection(colname).deleteMany(obj,(err,result)=>{
if(err) throw err;
console.log("删除");
db.close();
callback(result)
})
})
}
//改
module.exports.update=(dbname,colname,obj,ob,callback)=>{
connect((db)=>{
db.db(dbname).collection(colname).updateMany(obj,{$set:ob},(err,result)=>{
if(err) throw err;
console.log("改");
db.close();
callback(result);
})
})
}
//查
module.exports.find=(dbname,colname,obj,callback)=>{
connect((db)=>{
db.db(dbname).collection(colname).find(obj).toArray((err,result)=>{
if(err) throw err;
console.log("查询成功");
callback(result);
})
})
}
2----调用封装好的增删改查
const express=require('express');
const app=express();
const dao=require("./feng.js");
//增
app.use('/insert',(req,res)=>{
dao.insert("teacher","class",[{age:"123",address:"北京"}],(a)=>{
if(a) res.send("插入成功")
})
})
//查
app.use("/find",(req,res)=>{
dao.find("teacher",'class',{age:"123"},(a)=>{
if(a) res.send(a)
})
})
//改
app.use("/update",(req,res)=>{
dao.update("teacher",'class',{age:"123"},{age:"11111"},(a)=>{
if(a) res.send("修改成功")
})
})
//删
app.use('/del',(req,res)=>{
dao.del("teacher","class",{address:"北京"},(a)=>{
if(a) res.send("删除成功")
})
})
app.listen('8989')
标签:node,obj,err,mongodb,db,colname,callback,res,改查 来源: https://blog.csdn.net/qq_46242907/article/details/116403586
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。