在server.js中封装所需的方法
小例子(实现登录接口),这个接口里面使用了db.js中的findOne,insertOne,updateOne方法,综合性较强
const md5 = require("md5");
app.post("/login",async (req,res)=>{
try{
//接收用户账号和密码用于登录
const {adminName,passWord} = req.body;
const info = await db.findOne("adminList",{
adminName,
passWord:md5(passWord+ "<*%$(@!~*&(**))>") //对用户所传的密码进行加密比较
}) //查看adminList表中是否有所传入的用户,且信息完全一致
//在管理员对应的日志表中插入数据
await db.insertOne("adminLog",{
adminName,
logType:(info?1:2), //根据info是否有值判断具体值
detail:"登陆信息:"+(info?"成功":"失败"),
addTime:Date.now()
})
// 如果用户存在更新管理员最后登陆的时间,使用$set进行更新
if(info){
await db.updateOne("adminList",{_id:info._id},{$set:{loginTime:Date.now()}})
setTimeout(()=>{
res.json({
ok:1,
msg:"登陆成功",
token:tools.encode({adminName})
})
},1000)
}else{
setTimeout(()=>{
res.json({
ok:-1,
msg:"账号或密码错误"
})
},1000)
}
}catch(err){
res.json({
ok:-1,
msg:err
})
}
});
小例子 根据id查找对应的一个数据
app.get("/findAdmin/:id",async(req,res)=>{
const id = req.params.id;
const info = await db.findOne("adminList",{
_id:mongodb.ObjectId(id)
})
if(info){
res.json({
ok:1,
msg:"查找成功",
info
})
}else{
res.json({
ok:-1,
msg:"查找失败",
})
}
})