学习Node.js 使用express框架的一点记录

数据库还是使用文件代替,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')
	})

大概就这样

猜你喜欢

转载自blog.csdn.net/qq_36355178/article/details/85338120