标题数据访问层(持久层)(dao)
连接数据库
// 公共代码
var mongoose = require('mongoose');
mongoose.connect("mongodb://127.0.0.1:27017/eggcms", { useNewUrlParser: true, useUnifiedTopology: true })
// 监听是否连接成功
mongoose.connection.on("connected", function() {
console.log("连接数据库成功");
})
var mongoose = require('mongoose');
// var Classes = require('./classModel')
let studentSchema = new mongoose.Schema({
username: String,
age: Number,
address: String,
birthday: String,
gender: String,
xueli: String,
// 外键
classId: {
type: mongoose.Schema.Types.ObjectId,
// 导入班级模型
ref: "Classes"
}
})
const studentModel = mongoose.model('Student', studentSchema, 'student')
module.exports = studentModel
var studentModel = require('./model/studentModel')
module.exports = {
// 设计一个函数,用来获取数据
async findAll(page, size) {
// mongoose连接数据库API方法都是异步方法
// skip()表示从那条数据开始 limit表示每次返回多少条
const students = await studentModel.find().skip(page).limit(size);
return students;
}
}
业务逻辑层(service)
const { findAll } = require('../dao/studentDao')
module.exports = {
async findAllStudent(page, size) {
page = (page - 1) * size;
const res = await findAll(page, size);
// 判断是否查找到
if (res.length > 0) {
return { success: res, msg: '查询成功' }
} else {
return { success: false, msg: '查询失败' }
}
}
}
表示层(public+router)
var express = require('express');
var router = express.Router();
var { findAllStudent } = require('../service/studentService')
/* GET users listing. */
router.get('/findAll', async function (req, res, next) {
// 获取用户传递过来的参数
const obj = req.query;
const page = obj.page || 1;
const size = obj.size || 5;
const val = await findAllStudent(parseInt(page), parseInt(size));
//将数据返回给浏览器
res.send(val)
});
module.exports = router;
app.js中添加
var studentRouter = require('./routes/students');
app.use('/student', studentRouter);
&spm=1001.2101.3001.5002&articleId=109878963&d=1&t=3&u=e4e1becbc06745bbbf38de26cdb9e49b)
1933

被折叠的 条评论
为什么被折叠?



