egg+mongodb 配置
2018-12-03 本文已影响50人
胡儒清
安装egg
- npm i egg-init -g
- egg-init egg-example --type=simple
- cd egg-example
- npm i
启动
- npm run dev
- open localhost:7001
跨域设置
- 安装egg-cors模块
npm i egg-cors --save-dev
- 在 /config/plugin.js里面添加跨域插件
exports.cors = {
enable: true,
package: 'egg-cors',
};
- 在 /config/config.default.js 添加以下代码
config.cors = {
origin: '*', // 访问白名单,根据你自己的需要进行设置
allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH'
};
配置mogosse
npm install mongoose --save
- 测试连接是否成功,前提是你已经按照好了mongodb
const mongoose = require('mongoose');
mongoose.connect('mongodb://132.232.87.95:27017/test');
const con = mongoose.connection;
con.on('error', console.error.bind(console, '连接数据库失败'));
con.once('open', () => {
console.log('连接成功');
});
- 配置
// config/plugin.js
exports.mongoose = {
enable: true,
package: 'egg-mongoose',
};
// config/config.default.js
config.mongoose = {
url: 'mongodb://你的mongodb地址/apiExample',
options: {},
};
- 编写一个添加用户接口
- 新建文件 /model/user.js 若无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,
},
});
return mongoose.model('User', UserSchema);
};
- 新建文件 /service/user.js
'use strict';
const Service = require('egg').Service;
class UserService extends Service {
// 更新用户信息
async add() {
const {
ctx,
} = this;
const result = await ctx.model.User.create({
userName: 'huruqing',
});
return result;
}
}
module.exports = UserService;
- 新建文件 /controller/user.js
'use strict';
const Controller = require('egg').Controller;
class UserController extends Controller {
async add() {
this.ctx.body = this.ctx.service.user.add();
}
}
module.exports = UserController;
- 添加路由
router.get('/user/add')