(一) 搭建koa2的服务器

  1. 初始化package.json
  2. 创建一个简单的koa应用
  3. 添加跨域中间件, 注意: 因为后面的数据库操作是异步操作, 跨域时需要使用async await
  4. 设置静态资源目录
  5. 配置路由

    (二) 连接MongoDB数据库

    详看第3节 mongoose的使用

  6. 安装mongoose: npm i mongoose —save

  7. 在utils文件夹新增connect.js, 连接数据的文件 ```typescript // 数据库连接模块, 不使用module.exports,模块被require便被直接执行

// 导入mongoose模块 const mongoose = require(‘mongoose’); // 连接数据库,第一个参数为数据库地址(如果是远程数据库,修改地址即可),第二参数为对象,为了消除警告信息 mongoose.connect(‘mongodb://localhost/hero’, { useNewUrlParser: true, useUnifiedTopology: true }); // 获取连接对象,为了监听连接情况,后面这几行代码不要也可以,不过不要就无法知道连接是否成功 var db = mongoose.connection; db.on(‘error’, function (err) { console.log(‘数据库连接失败’, err); }); db.once(‘open’, function () { console.log(‘数据库连接成功’); });

  1. 2. app.js 导入connect.js
  2. ```typescript
  3. var Koa = require('koa');
  4. var app = new Koa();
  5. require('./utils/connect.js');

(三) 数据库增删改查操作

在使用之前需要给router.js 新增Schema 和model(在哪里进行数据库操作, 这两个东西就放在哪里)

  1. var mongoose = require('mongoose');
  2. // 创建用户数据结构, 就是一条数据,拥有哪些字段(属性)
  3. var userSchema = mongoose.Schema({
  4. name: '',
  5. age: '',
  6. });
  7. // 创建一个model(模型), 模型用来跟数据库进行通信的
  8. var userModel = mongoose.model('User',userSchema);
  1. 新增数据
    1. router.all('/add', async function(ctx) {
    2. try {
    3. // 获取前端传进来的请求参数
    4. var data = ctx.query;
    5. // 创建model
    6. var model = new heroModel(data);
    7. // 把数据存入数据库
    8. var result = await model.save();
    9. console.log('result', result);
    10. ctx.body = {
    11. code: 666,
    12. msg: '添加成功',
    13. result: result
    14. };
    15. } catch (error) {
    16. ctx.body = {
    17. code: 500,
    18. msg: '添加失败',
    19. error: error
    20. };
    21. }
    22. })