egg-mongoose --- nodejs

项目

egg + mongoose


项目结构

配置


egg 安装模块

npm i egg-mongoose --save

config/pulgin.js

exports.mongoose = {
  enable: true,
  package: 'egg-mongoose',
};

config/config.default.js

exports.mongoose = {
    url: 'mongodb://127.0.0.1/demo',
    //链接到本地的MongoDB,demo是我本地数据库的名字,根据自己数据库名字进行填写即可
    options: {},
};

数据建模


model/user.js

// app/model/user.js
module.exports = app => {
    const mongoose = app.mongoose;
    const Schema = mongoose.Schema;
   
    const UserSchema = new Schema({
      userName: { type: String  },
      password: { type: String  }
    });
    // 以上定义了表数据的类型
   
    return mongoose.model('User', UserSchema, 'userInfo');
    // model(参数1,参数2,参数3)参数3是你数据表中需要操作的表的名字,
    // 比如我现在要操作的是名字叫mongoTest里面的叫userInfo的表
}

service


 service/user.js

'use strict';
// app/service/user.js
const Service = require('egg').Service;

class UserService extends Service {
  async findUserList() {
    return this.ctx.model.User.find()
  }
}
module.exports = UserService;

controller


 controller/user.js

'use strict';

const Controller = require('egg').Controller;

class UserController extends Controller {
  async findUser() {
    // console.log(this.ctx.service.user.findUserList())
    // let ret = await this.ctx.service.user.findUserList()
    // this.ctx.body = ret

    this.ctx.body = await this.ctx.service.user.findUserList()

  }
}

module.exports = UserController;

router.js


'use strict';

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller } = app;
  router.get('/findUser', controller.user.findUser);
};

查询结果


 

猜你喜欢

转载自www.cnblogs.com/zyulike/p/10095568.html