数据库还是使用文件代替,json 文件,万事开头难
大概流程步骤是
//使用req.body获取到post请求体的数据之后
//1.读取文件数据,把字符串转换成对象
{"students":[{"id":1,"name":"张三","sex":1,"age":18,"hobbies":"吃饭,睡觉,打豆豆"},{"id":2,"name":"张三","sex":1,"age":18,"hobbies":"吃饭,睡觉,打豆豆"},
{"id":3,"name":"张三","sex":1,"age":18,"hobbies":"吃饭,睡觉,打豆豆"},
{"id":4,"name":"张三","sex":1,"age":18,"hobbies":"吃饭,睡觉,打豆豆"},
{"id":5,"name":"张三","sex":1,"age":18,"hobbies":"吃饭,睡觉,打豆豆"},
{"name":"张三 丰","sex":"1","age":"7489","hobbies":"吃饭睡觉打太极","id":"7"},{"name":"dsa","sex":"1","age":"78","hobbies":"吃饭睡觉777","id":"7"}]}
//2.把数据push到对象中
//3.把对象转成字符串
//4.把字符串写入文件保存
//5.重定向首页重新渲染首页
json代码后面2条是我写入成功之后的,因为id是自己生成的,我暂时写了死的id,读取到数据之后才添加的id,排列上就到最后一位去了,写入的时候因为students是一个数组
var news=req.body
news.id='7'
JSON.stringify(news)
fs.readFile('./db.json','utf8',function(err,data){
if(err){
return res.send("server error")
}
var objdata=JSON.parse(data) //转成对象
objdata.students.push(news) //将新数据push到文件对象中去
objdata=JSON.stringify(objdata)
//console.log(objdata)
fs.writeFile('./db.json',objdata,function(err){
if(err){
console.log('写入失败,'+err)
}
})
res.redirect('/students')
})
大概就这样