需求:使用egg搭建中台(仅提供给前台和管理后台数据)
以下是在egg使用mongoose数据库的相关说明、配置、完整代码。
(1)先安装依赖文件 npm install egg-mongoose --save
。
(2)在config/config.default.js
文件里面配置连接数据库。
exports.mongoose = {
url: 'mongodb://127.0.0.1:27017/react_blog',
options: {},
};
(3)在config/plugin.js
文件里面配置:
exports.mongoose = {
enable:true,
package:'egg-mongoose'
};
(4)新建文件及文件夹:
controller/default/user.js
controller 解析用户的输入,处理后返回相应的结果。
'use strict';
const Controller = require('egg').Controller;
class UserController extends Controller {
async add() {
const {ctx} = this;
ctx.body = await ctx.service.user.add();
}
}
module.exports = UserController;
model/user.js
建立模型
'use strict';
module.exports = app => {
const mongoose = app.mongoose;
const Schema = mongoose.Schema;
const UserSchema = new Schema({
userName: {
type: String,
unique: true,
required: true,
},
password:{
type:String
}
});
return mongoose.model('User', UserSchema);
};
service/user.js
service里面主要是写一些业务逻辑代码的
'use strict';
const Service = require('egg').Service;
class UserService extends Service {
async add() {
const {ctx} = this;
const result = await ctx.model.User.find({})
console.log('service文件',result)
return result;
}
}
module.exports = UserService;
(5)路由的配置:
router.js
文件:
module.exports = app=>{
const {router,controller} = app;
router.get('/default/index',controller.default.home.index)
router.get('/default/user',controller.default.user.add)
}
(6)在浏览器里面测试。
http://127.0.0.1:7001/default/user