条件查询
app\router\eventInfo.js
module.exports = app => {
const { router, controller } = app;
router.get('/event/list', controller.eventInfo.list);
router.get('/event/list/:id', controller.eventInfo.list);
};
app\model\eventInfo.js
module.exports = app => {
const mongoose = app.mongoose;
const Schema = mongoose.Schema;
const eventSchema = new Schema({
title: {
type: String,
},
subTitle: {
type: String,
},
createDate: {
type: String,
},
publishDate: {
type: String,
},
content: {
type: String,
},
});
return mongoose.model('EventInfo', eventSchema, 'event');
};
app\service\eventInfo.js
'use strict';
const Service = require('egg').Service;
class EventService extends Service {
async getList() {
const { ctx } = this;
console.log('参数', ctx.params);
console.log('参数', ctx.query);
const results = await ctx.model.EventInfo.find();
return results;
}
}
module.exports = EventService;
app\controller\eventInfo.js
'use strict';
const { Controller } = require('egg');
class EventController extends Controller {
// 查询数据
async list() {
const {
ctx,
} = this;
const result = await ctx.service.eventInfo.getList();
ctx.body = {
list: result,
};
}
}
module.exports = EventController;
请求获取参数方式
http://localhost:7001/event/list/123?title="国家"
egg路由分木块拆分
app\router.js
'use strict';
/**
* @param {Egg.Application} app - egg application
*/
module.exports = app => {
const {
router,
controller,
} = app;
router.get('/', controller.home.index);
require('./router/role')(app);
require('./router/eventInfo')(app);
};
app\router\role.js
'use strict';
/**
* @param {Egg.Application} app - egg application
*/
module.exports = app => {
const {
router,
controller,
} = app;
router.get('/role', controller.role.list);
router.post('/role/add', controller.role.add);
router.post('/role/bitch_add', controller.role.bitch_add);
router.delete('/role/del', controller.role.del);
router.delete('/role/bitch_del', controller.role.bitch_del);
};
app\router\eventInfo.js
module.exports = app => {
const { router, controller } = app;
router.get('/event/list', controller.eventInfo.list);
};