使用 ejs 渲染数据库中的数据
const http = require('http');
const Router = require('./Router')
const {MongoClient} = require('mongodb')
const ejs = require('ejs')
const queryString = require('querystring')
const dataUrl = 'mongodb://admin:123@localhost:27017/'
const dbName = 'hello'
//注册web服务
http.createServer(Router).listen(8081);
//配置路由
//首页,渲染数据库中user表数据
Router.get('/',(req,res)=>{
MongoClient.connect(dataUrl,{useUnifiedTopology:true},(err,client)=>{
if(err){
console.log("数据库连接失败:",err)
return
}
console.log("数据库连接成功")
let db=client.db(dbName)
//查询数据
db.collection("user").find({}).toArray((err,result)=>{
if(err){
console.log("查询数据失败:",err)
return
}
console.log("查询数据成功")
client.close()
//渲染数据
ejs.renderFile('./views/index.ejs',{
list:result
},(err,data)=>{
res.send(data)
})
})
})
})
//注册页,获取注册页面
Router.get('/register',(req,res)=>{
ejs.renderFile('./views/register.ejs',{},(err,data)=>{
res.send(data)
})
})
//执行注册逻辑,将用户填写的注册信息添加到数据库中
Router.post('/doRegister',(req,res)=>{
//let params=req.body //name=zhangsna&age=12的格式,需要转换成JSON字符串
let params = queryString.parse(req.body)
MongoClient.connect(dataUrl,{useUnifiedTopology:true},(err,client)=>{
if(err){
console.log("数据库连接失败:",err)
return
}
console.log("数据库连接成功")
let db=client.db(dbName)
//将用户填写的注册信息添加到数据库中
db.collection("user").insertOne(params,(err,result)=>{
if(err){
console.log("注册信息添加到数据库中失败:",err)
return
}
console.log("注册信息添加到数据库中成功")
res.end("add your information to database success.")
})
})
})
console.log('Server running at http://127.0.0.1:8081/');




浙公网安备 33010602011771号