在routes文件夹里,主要是做的将前端数据接收过来并写入数据库。
首先需要先连接数据库,先在自己的数据库中新建一个数据库travel,然后在routes文件夹里的article文件中写如下代码连接至travel:(连接数据库也可以写在app.js里,反正最后都是在app.js里引入这个文件)
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var Article = require('../models/article');
//连接MongoDB数据库
mongoose.connect('mongodb://127.0.0.1:27017/travel');
mongoose.connection.on("connected", function () {
console.log("MongoDB connected success.")
});
mongoose.connection.on("error", function () {
console.log("MongoDB connected fail.")
});
mongoose.connection.on("disconnected", function () {
console.log("MongoDB connected disconnected.")
});
//这里是与数据库的交互,非常重要,和前端的数据交互都在这
router.get("/list", function (req,res,next) {
//这个是前端路由到localhost:3000/article/list这个地址后所要发生的事情,可以是get请求也可以是post、delete……请求,一般来说post的安全性高一些,post是前端发送数据到后端,后端写入数据库再返回一些数据回去,get的话是前端不传数据到后端,要求后端传数据到前端
})
module.exports = router;
前端的话是使用axios来与后端进行交互的,用法如下
axios.post("/users/register",{
//这里是要传送什么数据到后端
userName:this.registerForm.registerUserName
}).then((response)=>{
//这里写如何处理从后端返回的数据
})
相对应的后端是这么写
router.post("/register",function(req,res,next){
var param = new User({
userName:req.body.userName, //新建一个user的scheme数据
});
param.save((err)=>{ //存进数据库,回调
if (err) {
res.json({ //返回什么json数据到前端
status:"1",
msg:err.message
})
}else{
res.json({
status:"0",
msg:'suc'
})
}
})
})